حل شده مدیریت لایه
#1
Heart 
من در بازیم می خوام از لایه به صورت اینترفیس چند لایه مثلا وقتی بازی شروع می شود وقتی بازیکن دکمه اف یا دکمه منو کلیک کند منو یی که داخل بازی ظاهر  بشود . تا اینجا من پیش رفتم اما مشکل این است که باید تمام اشیا لایه پایین تر باید غیر فعال باشند مثلا اگر یک دکمه در لایه غیر از لایه منو باشد کار می کند و من می خواهم کار نکند در واقع می خواهم  ابجکت های یک لایه غیر فعال شود . ایا دستوری وجود دارد که لایه ها را غیر فعال کنیم.
سوال دیگر آیا راهی وجود دارد که یک لایه را حذف کنیم وقتی بازی اجرا می شود. من می خواهم بازی بسازم که گرافیک زیادی دارد و می خواهم به کمک لایه ها هم گرافیک ها را تفکیک وهم مدیریت حافظه و پردازش. به این شکل که در منو تنظیمات بازی کاربر سطح گرافیک را انتخاب می کند سطح بین 1 تا 4  است هر چه عدد بیشتر تعداد لایه های بیشتری نمایش میدهد. با این ترفند می توان طیف وسیعی از موبایل ها را ساپورت کرد. آیا با نا مرئی کردن باعث کاهش پردازش و حافظه می شود هر کس راهی می داند بگویید؟
  پاسخ


 سپاس شده توسط: keyhan
#2
سلام
فکر میکنم در مورد اول اگه درست فهمیده باشم شما بتونین از دستور set visible استفاده کنین و به این صورت عمل کنین که اون اشیاء رو از منوی تنظیمات، visible رو بزارین روی invisble و بعد با استفاده از دستورات داخل Event اونو هر وقت که میخواین، visible کنین. برای گروهی از اشیاء هم میتونین اینکار رو بکنین. روی لایه ها هم میتونین ظاهرا اینکار رو انجام بدین.

در مورد دومین سوال باید بگم که فکر میکنم ایده ی خوبی هست، اما نمیدونم فرقی میکنه یا نه برای سرعت و پردازش... البته اگه کار سنگینی نیست، به جای 4 کیفیت متفاوت از تصاویر و اشیاء بهتره از یک دونه استفاده کنین و البته عکس ها رو تا جایی که امکان داره کم حجم کنین، برای تصاویر jpg میتونین از کیفیت 60 در فتوشاپ و برای png هم از سایتهایی مثل smush it استفاده کنین.

برای ظاهر کردن یا نامرئی کردن هم که توی همون بخش اول گفتم که میشه.
(اگه اشتباه کرده باشم، عذرخواهی میکنم)
  پاسخ


 سپاس شده توسط:
#3
من از  دستور set visible استفاده کردم و لایه پایین را مخفی کردم اما وقتی یک دکمه که در لایه پایین است کلیک می کنم با اینکه نمایش نمی دهد اما کار خودش را انجام می دهد مثلا اگر دستور خروج از بازی باشد خارج می شود .
  پاسخ


 سپاس شده توسط: keyhan
#4
من فکر میکنم شما احتمالا اون دکمه رو توی اون لایه فعال گذاشتین. و در ظاهر فکر میکنید که اون دکمه داخل لایه ای است که invisible میکنین. این مشکل زیاد پیش میاد.
اگه از نسخه ی کرک شده استفاده کنین، یه امکانی داره به نام Z Order که میتونین از اون برای بالا بردن یا پایین بردن یک شی در یک لایه یا انتقال به لایه های دیگه استفاده کنین.
البته بدون اون هم میتونین دکمه رو انتقال بدین و کافیه روی دکمه راست کلیک کنین و بزنین move to .... لایه ی دلخواه.

امیدوارم به درد خورده باشه نوشته هام.
  پاسخ


 سپاس شده توسط:
#5
نه لایه درست گذاشتم ،دکمه را مخفی می کند ولی اکشن آن را اجرا می کند در صورت مخفی بودن اگر من روی آن نقطه کلیک کنم رویداد کلیک آن شیب مخفی اجرا می شود .
  پاسخ


 سپاس شده توسط: keyhan
#6
اگه از اکشن Set layer visible سیستم برای مخفی کردن یا نمایش لایه‌ها استفاده کنید، دکمه‌های درون لایه‌ی مخفی عمل نمی‌کنند.
معجزات طبیعت هایی هستند که با آن‌ها مأنوس نشده‌ایم
و طبیعت معجزه‌ایست که با آن انس گرفته‌ایم
علی صفایی حائری
  پاسخ


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


 سپاس شده توسط: keyhan
#8
دکمه (شیء Button) در این حالت عمل نمی‌کند، ولی اگه تنظیم کرده‌باشید وقتی روی اسپرایتی کلیک شد، فلان اتّفاق بیفته، عمل می‌کنه! برای رفع مشکل می‌تونید یک شرط دیگه هم در کنارش بذارید تا فقط اگه لایه‌اش مرئی (visible) بود اون اتّفاق بیفته، می‌تونید برای این کار از کاندیشن Layer is visible سیستم استفاده کنید.

برای شخصی‌سازی نوار لود، در مشخّصات پروژه در نوار Properties گزینه‌ی Use loader layout رو روی Yes قرار بدید، حالا به جای لودینگ، موقع لود بازی اوّلین لیوت شما به نمایش در می‌آید (نقش لودینگ را بازی می‌کند)، در نتیجه می‌تونید اونو شخصی‌سازی کنید.
معجزات طبیعت هایی هستند که با آن‌ها مأنوس نشده‌ایم
و طبیعت معجزه‌ایست که با آن انس گرفته‌ایم
علی صفایی حائری
  پاسخ


 سپاس شده توسط:
#9
وقتی شخصی سازی کردیم چطور و در کجا و چه موقع نوار لود خودم قرار بدهم در گیم میکر خیلی راحت به جای انها قرار می دادیم.
  پاسخ


 سپاس شده توسط: keyhan
#10
البته لودینگ کانستراکت در بازی‌های خروجی گرفته‌شده‌ی نهایی اندروید به نمایش در نمی‌آید، در بازی‌های تحت وب هم فقط دفعه‌ی اوّل دیده می‌شود، چون وقتی کاربر دفعه‌ی اوّل بازی رو انجام بده در هنگام لودینگ فایل‌های بازی در کامپیوترش ذخیره می‌شوند و دفعه‌ی بعد به سرعت بازی به نمایش در می‌آید. با این حال، کانستراکت در مورد لودینگ خیلی بیشتر از گیم میکر دستتان را باز می‌گذارد. شما در کانستراکت به راحتی می‌تونید لودینگ‌های عجیب و غریبی خلق کنید، مثلاً در هنگام لودینگ یک مینی‌گیم بگذارید تا حوصله‌ی بازی‌کن سر نرود و خیلی کارهای بسیار جالب دیگه. برای این‌که بفهمید لودینگ چه قدر پیشرفت کرده‌است می‌تونید از اکسپرشن سیستمی loadingprogress استفاده کنید. مثلاً یک متن بگذارید تا این مقدار را نشان دهد، یا خیلی قشنگ‌تر یک بک‌گراند بگذارید و بگویید عرض آن برابر loadingprogress * Self.ImageWidth شود.
معجزات طبیعت هایی هستند که با آن‌ها مأنوس نشده‌ایم
و طبیعت معجزه‌ایست که با آن انس گرفته‌ایم
علی صفایی حائری
  پاسخ


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


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
  حل شده ارور جاوا M.gh 4 1,867 1403/6/27، 10:19 عصر
آخرین ارسال: Klkj
  این چیه alirezagamemaker 4 2,328 1403/6/27، 10:18 عصر
آخرین ارسال: Klkj
  نشان دادن حرف در بازی کلماتی mehdi 0 287 1403/5/13، 05:27 عصر
آخرین ارسال: mehdi
  حل شده مشکل در آرایه mehdi 2 557 1403/4/26، 11:41 عصر
آخرین ارسال: mehdi
  حل شده خرید درون برنامه مایکت در وب ویو Arianm 3 1,296 1402/4/25، 12:01 عصر
آخرین ارسال: Arianm

پرش به انجمن: