قفل کردن مراحل
#11
سلام
برای هر مرحله یه اسپرایت قفل و یک اسپرایت بدون قفل بزار بعد یه متغیر تعریف کن که مرحله یک تموم شد متغیر بشه دو مثلا بعد بگی اگه متغیر دو شد قفل مرحله دوم یعنی اون اسپرایت قفل نابود بشه یا فریمش عوض بشه به اسپرایت بدون قفل و ... و بره مرحله بعدی همین کارو برای مراحل دیگه انجام بده و در آخر هم با لوکال ذخیره کن 
آثار من
-----------
انتشار یافته: _
در حال ساخت
:
بدون نام    شکست خورده: ویزویزی
54 اگه کمکت کردم ممنون میشم روی سپاس کلیک کنی 54 
  پاسخ


 سپاس شده توسط: shazde
#12
این طوری که دوستان گفتند مشکل داره چون 30 تا اسرایت به نظرتون حجم نمیره بالا 39 منم تو این مشکل گیر کردم
  پاسخ


 سپاس شده توسط:
#13
سلام
اسپرایت کوچیک واسه مراحل زیاد حجم رو بالا نمیبره
ضمن اینکه میتونید حجمشون رو هم کم کنید
یا از اسپرایت خیلی گرافیکی استفاده نکنید برای مراحل و فقط مثلا روش نوشته نوشته باشه 1_2_3 و . . .
رسید مژده که ایّام غم نخواهد ماند چنان نماند چنین نیز هم نخواهد ماند
  پاسخ


 سپاس شده توسط:
#14
اصلا لازم نیست سی تا اسپرایت اضافه کنید. یه اسپرایت با دو تا فریم باز و بسته کفایت میکنه. 
همونطور که دوستان گفتن یه متغیر مرحله بسازید و مقدارش رو یک بزارید. با استفاده از iid اسپرایت مرحله تنظیم کنید اسپرایتهایی که iidشون از متغیر مرحله بیشتر بود بسته باشن. و اونایی که iidشون مساوی یا کمتر از متغیره باز باشن. برای رفتن به مرحله مورد نظر هم بگید اگر روی اسپرایت مرحله کلیک شد بره به لایوت "level&sprite.IID". ذخیره کردن متغیر مرحله یادتون نره.
برای عدد گزاری روی مراحل هم از روشی مثل بالا استفاده میکنیم. روی هر اسپرایت مرحله یه تکست یا اسپرایت فونت میزاریم و میگیم اگر تکست is overlapping بود با اسپرایت مرحله، متنش ست بشه به sprite.IID ( فقط ایونت اورلپ رو با یه trigger once while true اند(AND) کنید که فقط یکبار اجرا بشه )

یکم پیچیده شد، امیدوارم متوجه بشید  39
  پاسخ


 سپاس شده توسط: shazde ، mamfan
#15
با ارض سلام و احترام 
ببخشید من یه اپ میخوام درس کنم که برا اموزش هست میخوام هم وقتی فیلم اول تموم نشده نتونه فیلم های بعدیرو ببینه بعد اینکه فیلمو دید فیلم بعدی باز باشه بتونه نگاه کنه 

 
  پاسخ


 سپاس شده توسط:
#16
(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) کنید که فقط یکبار اجرا بشه )

یکم پیچیده شد، امیدوارم متوجه بشید  39

اقا سلام ببین این بخشی که گفتی ایونت بنویس که اگه روی اسپرایت مرحله کلیک شد بره به (level&sprote.iid) ; مشکل اینجا است که کانسترکت اصلا اجازه نمیده که بخوایم رفتن به یک مرحله رو باکد بنویسیم و فقط خودش لیوت های موجود رو بهمون نشون میده و میگه انتخاب کنیم

برای همین این روش اصلا قابل اجرا نیست!
  پاسخ


 سپاس شده توسط: hasansanaei ، ᔕinaᗪehghani
#17
نقل قول:
(1395/11/28، 12:46 عصر)hsnpi نوشته است: اصلا لازم نیست سی تا اسپرایت اضافه کنید. یه اسپرایت با دو تا فریم باز و بسته کفایت میکنه. 
همونطور که دوستان گفتن یه متغیر مرحله بسازید و مقدارش رو یک بزارید. با استفاده از iid اسپرایت مرحله تنظیم کنید اسپرایتهایی که iidشون از متغیر مرحله بیشتر بود بسته باشن. و اونایی که iidشون مساوی یا کمتر از متغیره باز باشن. برای رفتن به مرحله مورد نظر هم بگید اگر روی اسپرایت مرحله کلیک شد بره به لایوت "level&sprite.IID". ذخیره کردن متغیر مرحله یادتون نره.
برای عدد گزاری روی مراحل هم از روشی مثل بالا استفاده میکنیم. روی هر اسپرایت مرحله یه تکست یا اسپرایت فونت میزاریم و میگیم اگر تکست is overlapping بود با اسپرایت مرحله، متنش ست بشه به sprite.IID ( فقط ایونت اورلپ رو با یه trigger once while true اند(AND) کنید که فقط یکبار اجرا بشه )

یکم پیچیده شد، امیدوارم متوجه بشید  39

اقا سلام ببین این بخشی که گفتی ایونت بنویس که اگه روی اسپرایت مرحله کلیک شد بره به (level&sprote.iid) ; مشکل اینجا است که کانسترکت اصلا اجازه نمیده که بخوایم رفتن به یک مرحله رو باکد بنویسیم و فقط خودش لیوت های موجود رو بهمون نشون میده و میگه انتخاب کنیم

برای همین این روش اصلا قابل اجرا نیست!
سلام ؛

هر دوتاتون پست قدیمی رو بالا آوردید با این حال برای رسیدن به سوال دوستان مشکلی نمیبینم .
درباره موضوعی که خودتون توش اشتباه میکنید بهتون اکشن :
کد:
Go To Layout (by name)
معرفی میکنم .
با این اکشن میتونید روشی که دوستمون بالا گفته رو اجرا کنید ؛ این اکشن با اکشن go to layout فرق میکنه .

موفق باشید .
  پاسخ


 سپاس شده توسط: امیرعلی ۱۲۳ ، ᔕinaᗪehghani
#18
ممنون
خیلی کمک کردید بهم
چند بار دیگه هم همینجوری برای همین به مشکل خوردم ولی الان دیگه فهمیدم باید چیکار کنم!

بازم ممنون
  پاسخ


 سپاس شده توسط:
#19
(1400/2/30، 09:09 عصر)امیرعلی ۱۲۳ نوشته است:
(1400/2/30، 08:58 صبح)alimdel نوشته است: با ارض سلام و احترام 
ببخشید من یه اپ میخوام درس کنم که برا اموزش هست میخوام هم وقتی فیلم اول تموم نشده نتونه فیلم های بعدیرو ببینه بعد اینکه فیلمو دید فیلم بعدی باز باشه بتونه نگاه کنه 

 



 اینم دقیقا باید طبق همین روشی که دوستان گفتن بری جلو

تعداد فریم هر فیلمی که توی نرم افزارت هست رو حساب کن!
شاید بگی چیجوری!

فقط کافیه که مقدار زمان اون فیلم رو بر حسب ثانیه به دست بیاری و سپس در ۶۰ ضرب کنی!

شاید بگی چرا در ۶۰؟

دلیلیش اینه که تقریبا همه ی فیلم ها طبق قانون ۶۰ فریم بر ثانیه ساخته شدن....


خوب حالا اپجکت فیلم رو به بازی اضافه میکنی و یک متغیر سراسری هم میسازی با مقدار ۱ و میری توی ایونت شیت و میگی که اگر فریم فیلم به (مقداری که از اون فرمولی که بهت گفتم به دست اوردی) رسید؛ به مقدار متغیر یکی اضافه بشه.

بعد یک ایونت دیگه هم میسازی و میگی که اگر متغیر برابر با یک بود؛ فیلم اول فقط نشون داده بشه(حالا چیجوری؟! باید توی صفحه انتخاب ویدئو چند تا اسپرایت بسازی و به هر کدوم دو تا فریم بدی که فریم اول علامت قفل باشه و فریم دوم علامت قفل باز شده و سرعت انیمیشن اسپرایت رو هم صفر کنی......و بعد بگی که اگر متغیر یک بود فقط اسپرایتی که مربوط به فیلم اول هست فریمش تغییر کنه به یک(منظورمون از یک همون فریمی هست که علامت قفل باز شده داره))

اگه متغیر برابر با دو بود؛ اسپرایت مربوط به فیلم اول و دوم اینجوری بشه

اگه متغیر برابر با سه بود فیلم اول و دوم و سوم.... و.......


همینجوری برو و همه ی فیلم ها رو طبق همین روش اینوت نویسی کن

اگه مشکل داشتی بپرس?


با اجازه ي آقاي ثنايي منم اين نكته رو بگم كه حتما نيازي به اين همه ضرب و تقسيم نيست!
شي ويديو داراي كانديشني به اسم Has ended هست كه اين كار رو براتون ميكنه!

و همینطور استفاده از آرایه بهتر از یه متغیر هست
نقل قول:
 لحظه ها را ميگذرانديم تا به خوشبختي برسيم؛ غافل از اينكه خوشبختي در آن لحظه ها بود كه گذرانديم.
  پاسخ


 سپاس شده توسط: hasansanaei ، alimdel
#20
اینم میشه

ولی چون من با این روش اشنایی نداشتم نمیدونستم

  پاسخ


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


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
  گروه انجمن کانستراکت sahabia-games 0 1,067 1401/4/30، 04:17 عصر
آخرین ارسال: sahabia-games
  کمتر شدن عدد از صفر tohidrajabali 0 1,028 1401/2/26، 01:06 عصر
آخرین ارسال: tohidrajabali
  مشکل در تاچ کردن mehdi 3 2,871 1400/12/21، 11:09 عصر
آخرین ارسال: mehdi
  مشگل در خروجی Sarbaz24 1 1,503 1400/9/6، 11:47 عصر
آخرین ارسال: ᔕinaᗪehghani
  خروجی parpack.24 1 2,007 1400/1/4، 05:06 عصر
آخرین ارسال: hasansanaei

پرش به انجمن: