آموزش های روزانه من
#11
سلام . ممنون از آموزش عالیتون !

توی آموزش استوپ بازی مشکل کوچیکی دارم . اونم اینه که وقتی بای استوپ میشه اسپرایت ها از حرکت میوفته و تایمر و چیز های دیگه هم وایمیسته اما خاصیت تاچ اسپرایت ها غیر فعال نمیشه . یعنی من اگه گفتموقتی رو اسپرایت bird تاچ شد بمیره ! در حالت استوپ این کار انجام میشه !

و یک سوال کوچک دیگه هم دارم !

من اومدم گفتم وقتی رو اسپرایت x کلیک شد یه عدد به متغیر امتیازم اضافه شه . اسپرایت با تاچ شدن نمیمیره و فقط انیمیشن و جهتش عوض میشه پس کاربر میتونه چندین بار تاچ کنه و امتیاز بگیره . چطور بگم وقتی کاربر با زدن اسپرایت به امتیاز گرفت دیگه اضافه شدن امتیاز لغو شه ؟! بهترین راه پیشنهادی شما چیه ؟!


یک دنیا ممنون :*
  پاسخ


 سپاس شده توسط: ghader
#12
یکی از مشکلات کانستراکت فقط از یک زمان سنج استفاده می کند. واون زمان سنج کل اجرای بازی تاثیر دارد .یعنی با صفر کردن آن هم چیز جز چند تریگر همگی متوقف می شود. چون اکشن سیستمی است روی کل اشیا اعمال می شود و هیچ کارکتری نه حرکت می کند نه کدی اجرا می شود.
در این حالت رویداد های و اکشن های  زمان از کار می افتد مثلا شما stop کردید بعد از این اکشن اگر اکشن مثلا وقفه بیاورید  و اکشن اجرا دوباره. می بینید وقفه اجرا نمیشود.
این یک ضعف بنیادی هست چون همه چیز متوقف می شود .تنها باید رویداد هایی فعال هستند که کاربر کنترول می کند مثل فشردن کلید یا تاچ کلیک کردن. اگر این ها قرار بود این ها کارنکند هیچ راهی وجود نداشت تا به حالت اجرا بیاوریم و همیشه استوپ می شد.
این راه ساده هی هست برای توقف اما انتعطاف کافی ندارد. موتور های دیگر بخشی از بازی رو متوقف می کند و بخش دیگر نه. مثلا  چند تا لایه ها متوقف می شود و لایه منو فعال هست. امیدواریم که کانستراکت در نسخه 3 این کار را کند.
چون در این حالت بازی هایی را می توان ساخت که به محض متوقف شدن فقط قسمت گیم پلی و کارکترها متوقف شود. و لایه مثل بک گراند که فقط برای زیبایی است و دارای جلوه های ویژه و متحرک است به کار خود ادامه دهد.

تقدم اکشنها اهمیت دارد . شما تقدم را رعایت نمی کنی. همین طور استفاده از رویدادها .
شما باید شی را نابود کنی سپس امتیاز کسب شود.
  پاسخ


 سپاس شده توسط: RezaMK
#13
پس یعنی نمیشه هنگام استوپ از این طریق رویداد تاچ اسپرایت ها رو متوقف کنیم ؟! از روش های دیگه چی ؟ کلا نمیشه ؟!

راستی جواب سما دوممو نگرفتم هنوز 2

من اومدم گفتم وقتی رو اسپرایت x کلیک شد یه عدد به متغیر امتیازم اضافه شه . اسپرایت با تاچ شدن نمیمیره و فقط انیمیشن و جهتش عوض میشه پس کاربر میتونه چندین بار تاچ کنه و امتیاز بگیره . چطور بگم وقتی کاربر با زدن اسپرایت به امتیاز گرفت دیگه اضافه شدن امتیاز لغو شه ؟! بهترین راه پیشنهادی شما چیه ؟!
  پاسخ


 سپاس شده توسط:
#14
برای نابودی از اکشن Destory استفاده کنید قبل از امتیاز دادن.
  پاسخ


 سپاس شده توسط: RezaMK
#15
ببینید نمی خوام نابود بشن . با زدن روی اسپرایت انیمیشن عوض میشه و یک امتیاز به متغیر امتیازم اضافه میشه . اما مشکل اینجاست که هر چند بار رو اسپرایت کلیک کنم امتیاز اضافه میشه . می خوام وقتی یه بار اضافه شد با کلیک های بعدی امتیاز اضافه نشه .
چه انجمن و کاربران خوبی 41
  پاسخ


 سپاس شده توسط:
#16
در رویداد کلیک روی شی شما باید یک رویداد دیگر به نام is playing هم اضافه کنید و در فیلد آن انیمیشنی که باید امتیاز داده شود رو بنویسید.
و در اکشن ایتدا اکشن پخش انیمیشن جدید سپس امتیاز.
وقتی شرط بالا رو اضافه می کنید .اجرا شدن اکشن ها رو فیلتر می کند. و می شود زمانی که اسپرایت کلیک شد و انیمیشن مثلا سیب در حال پخش بود. در قسمت اکشن شما چون انیمیشن رو عوض می کنی پس دیگه اجرا نمی شود
  پاسخ


 سپاس شده توسط:
#17
خیلی ممنون . مشکلم حل شد !

فقط اگه راهی پیدا کردین که در هنگام استوپ همه رویداد ها از جمله تاچ لغو بشه ما رو هم در جریان بزارین .
چه انجمن و کاربران خوبی 41
  پاسخ


 سپاس شده توسط:
#18
میتوانی شرط دیگری بگذارید که اگر  زمان مخالف صفر بود اکشن کلیک کردن روی اسپرایت مثلا سیب اجراشود.
یا خیلی راحت با یک متغییر سراسری اگر بازی متوقف شد مقدار 0 و اگر بازی در حال جریان داشت مقدار 1.
بعد در شرط کلیک کردن یک شرط دیگر مقایسه مقدار متغییر. اگر یک بود قابل کلیک شدن می شود
  پاسخ


 سپاس شده توسط:


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Star مهم آموزش خروجی اندروید روی سیستم شخصی rezamms 127 76,094 1402/8/24، 09:00 عصر
آخرین ارسال: mehdiosw
  مهم آموزش تصویری خروجی مستقیم - یکبار برای همیشه! rezamms 33 17,646 1401/2/13، 09:39 عصر
آخرین ارسال: kamran_cn
  خروجی اندرید davinmstr1 2 2,142 1400/8/4، 10:23 عصر
آخرین ارسال: ᔕinaᗪehghani
  AAB (بسته برنامه اندروید) چيست؟ + نحوه خروجي گرفتن در كرودوا ᔕinaᗪehghani 15 6,991 1400/6/21، 01:55 صبح
آخرین ارسال: mehdi1100
  رفع مشکل خروجی فونگپ (: M.gh 11 7,298 1400/4/10، 02:17 صبح
آخرین ارسال: oak

پرش به انجمن: