(1400/2/30، 08:58 صبح)alimdel نوشته است: با ارض سلام و احترام
ببخشید من یه اپ میخوام درس کنم که برا اموزش هست میخوام هم وقتی فیلم اول تموم نشده نتونه فیلم های بعدیرو ببینه بعد اینکه فیلمو دید فیلم بعدی باز باشه بتونه نگاه کنه
اینم دقیقا باید طبق همین روشی که دوستان گفتن بری جلو
تعداد فریم هر فیلمی که توی نرم افزارت هست رو حساب کن!
شاید بگی چیجوری!
فقط کافیه که مقدار زمان اون فیلم رو بر حسب ثانیه به دست بیاری و سپس در ۶۰ ضرب کنی!
شاید بگی چرا در ۶۰؟
دلیلیش اینه که تقریبا همه ی فیلم ها طبق قانون ۶۰ فریم بر ثانیه ساخته شدن....
خوب حالا اپجکت فیلم رو به بازی اضافه میکنی و یک متغیر سراسری هم میسازی با مقدار ۱ و میری توی ایونت شیت و میگی که اگر فریم فیلم به (مقداری که از اون فرمولی که بهت گفتم به دست اوردی) رسید؛ به مقدار متغیر یکی اضافه بشه.
بعد یک ایونت دیگه هم میسازی و میگی که اگر متغیر برابر با یک بود؛ فیلم اول فقط نشون داده بشه(حالا چیجوری؟! باید توی صفحه انتخاب ویدئو چند تا اسپرایت بسازی و به هر کدوم دو تا فریم بدی که فریم اول علامت قفل باشه و فریم دوم علامت قفل باز شده و سرعت انیمیشن اسپرایت رو هم صفر کنی......و بعد بگی که اگر متغیر یک بود فقط اسپرایتی که مربوط به فیلم اول هست فریمش تغییر کنه به یک(منظورمون از یک همون فریمی هست که علامت قفل باز شده داره))
اگه متغیر برابر با دو بود؛ اسپرایت مربوط به فیلم اول و دوم اینجوری بشه
اگه متغیر برابر با سه بود فیلم اول و دوم و سوم.... و.......
همینجوری برو و همه ی فیلم ها رو طبق همین روش اینوت نویسی کن
اگه مشکل داشتی بپرس
?
(1395/11/28، 12:46 عصر)hsnpi نوشته است: اصلا لازم نیست سی تا اسپرایت اضافه کنید. یه اسپرایت با دو تا فریم باز و بسته کفایت میکنه.
همونطور که دوستان گفتن یه متغیر مرحله بسازید و مقدارش رو یک بزارید. با استفاده از iid اسپرایت مرحله تنظیم کنید اسپرایتهایی که iidشون از متغیر مرحله بیشتر بود بسته باشن. و اونایی که iidشون مساوی یا کمتر از متغیره باز باشن. برای رفتن به مرحله مورد نظر هم بگید اگر روی اسپرایت مرحله کلیک شد بره به لایوت "level&sprite.IID". ذخیره کردن متغیر مرحله یادتون نره.
برای عدد گزاری روی مراحل هم از روشی مثل بالا استفاده میکنیم. روی هر اسپرایت مرحله یه تکست یا اسپرایت فونت میزاریم و میگیم اگر تکست is overlapping بود با اسپرایت مرحله، متنش ست بشه به sprite.IID ( فقط ایونت اورلپ رو با یه trigger once while true اند(AND) کنید که فقط یکبار اجرا بشه )
یکم پیچیده شد، امیدوارم متوجه بشید
اقا سلام ببین این بخشی که گفتی ایونت بنویس که اگه روی اسپرایت مرحله کلیک شد بره به (level&sprote.iid) ; مشکل اینجا است که کانسترکت اصلا اجازه نمیده که بخوایم رفتن به یک مرحله رو باکد بنویسیم و فقط خودش لیوت های موجود رو بهمون نشون میده و میگه انتخاب کنیم
برای همین این روش اصلا قابل اجرا نیست!