ارسالها: 1,091
موضوعها: 122
تاریخ عضویت: دي 1393
مکان: همدان-ملایر
سپاسها: 236
1923 سپاس گرفتهشده در 1126 ارسال
1393/10/30، 09:17 عصر
من در بازیم می خوام از لایه به صورت اینترفیس چند لایه مثلا وقتی بازی شروع می شود وقتی بازیکن دکمه اف یا دکمه منو کلیک کند منو یی که داخل بازی ظاهر بشود . تا اینجا من پیش رفتم اما مشکل این است که باید تمام اشیا لایه پایین تر باید غیر فعال باشند مثلا اگر یک دکمه در لایه غیر از لایه منو باشد کار می کند و من می خواهم کار نکند در واقع می خواهم ابجکت های یک لایه غیر فعال شود . ایا دستوری وجود دارد که لایه ها را غیر فعال کنیم.
سوال دیگر آیا راهی وجود دارد که یک لایه را حذف کنیم وقتی بازی اجرا می شود. من می خواهم بازی بسازم که گرافیک زیادی دارد و می خواهم به کمک لایه ها هم گرافیک ها را تفکیک وهم مدیریت حافظه و پردازش. به این شکل که در منو تنظیمات بازی کاربر سطح گرافیک را انتخاب می کند سطح بین 1 تا 4 است هر چه عدد بیشتر تعداد لایه های بیشتری نمایش میدهد. با این ترفند می توان طیف وسیعی از موبایل ها را ساپورت کرد. آیا با نا مرئی کردن باعث کاهش پردازش و حافظه می شود هر کس راهی می داند بگویید؟
ارسالها: 1,385
موضوعها: 79
تاریخ عضویت: آذر 1393
سپاسها: 1831
2418 سپاس گرفتهشده در 980 ارسال
سلام
فکر میکنم در مورد اول اگه درست فهمیده باشم شما بتونین از دستور set visible استفاده کنین و به این صورت عمل کنین که اون اشیاء رو از منوی تنظیمات، visible رو بزارین روی invisble و بعد با استفاده از دستورات داخل Event اونو هر وقت که میخواین، visible کنین. برای گروهی از اشیاء هم میتونین اینکار رو بکنین. روی لایه ها هم میتونین ظاهرا اینکار رو انجام بدین.
در مورد دومین سوال باید بگم که فکر میکنم ایده ی خوبی هست، اما نمیدونم فرقی میکنه یا نه برای سرعت و پردازش... البته اگه کار سنگینی نیست، به جای 4 کیفیت متفاوت از تصاویر و اشیاء بهتره از یک دونه استفاده کنین و البته عکس ها رو تا جایی که امکان داره کم حجم کنین، برای تصاویر jpg میتونین از کیفیت 60 در فتوشاپ و برای png هم از سایتهایی مثل smush it استفاده کنین.
برای ظاهر کردن یا نامرئی کردن هم که توی همون بخش اول گفتم که میشه.
(اگه اشتباه کرده باشم، عذرخواهی میکنم)
ارسالها: 1,091
موضوعها: 122
تاریخ عضویت: دي 1393
مکان: همدان-ملایر
سپاسها: 236
1923 سپاس گرفتهشده در 1126 ارسال
من از دستور set visible استفاده کردم و لایه پایین را مخفی کردم اما وقتی یک دکمه که در لایه پایین است کلیک می کنم با اینکه نمایش نمی دهد اما کار خودش را انجام می دهد مثلا اگر دستور خروج از بازی باشد خارج می شود .
ارسالها: 1,385
موضوعها: 79
تاریخ عضویت: آذر 1393
سپاسها: 1831
2418 سپاس گرفتهشده در 980 ارسال
من فکر میکنم شما احتمالا اون دکمه رو توی اون لایه فعال گذاشتین. و در ظاهر فکر میکنید که اون دکمه داخل لایه ای است که invisible میکنین. این مشکل زیاد پیش میاد.
اگه از نسخه ی کرک شده استفاده کنین، یه امکانی داره به نام Z Order که میتونین از اون برای بالا بردن یا پایین بردن یک شی در یک لایه یا انتقال به لایه های دیگه استفاده کنین.
البته بدون اون هم میتونین دکمه رو انتقال بدین و کافیه روی دکمه راست کلیک کنین و بزنین move to .... لایه ی دلخواه.
امیدوارم به درد خورده باشه نوشته هام.
ارسالها: 1,091
موضوعها: 122
تاریخ عضویت: دي 1393
مکان: همدان-ملایر
سپاسها: 236
1923 سپاس گرفتهشده در 1126 ارسال
نه لایه درست گذاشتم ،دکمه را مخفی می کند ولی اکشن آن را اجرا می کند در صورت مخفی بودن اگر من روی آن نقطه کلیک کنم رویداد کلیک آن شیب مخفی اجرا می شود .
ارسالها: 940
موضوعها: 56
تاریخ عضویت: مرد 1393
مکان: مشهد
سپاسها: 338
2562 سپاس گرفتهشده در 736 ارسال
اگه از اکشن Set layer visible سیستم برای مخفی کردن یا نمایش لایهها استفاده کنید، دکمههای درون لایهی مخفی عمل نمیکنند.
معجزات طبیعت هایی هستند که با آنها مأنوس نشدهایم
و طبیعت معجزهایست که با آن انس گرفتهایم
ارسالها: 1,091
موضوعها: 122
تاریخ عضویت: دي 1393
مکان: همدان-ملایر
سپاسها: 236
1923 سپاس گرفتهشده در 1126 ارسال
من هم از ان اکشن استفاده کردم ولی باز دکمه که لایه مخفی است کار می کند و قابل کلیک شدن است.
چطوری می توان نوار لود کانسراکت را شخصی سازی کرد.
ارسالها: 940
موضوعها: 56
تاریخ عضویت: مرد 1393
مکان: مشهد
سپاسها: 338
2562 سپاس گرفتهشده در 736 ارسال
دکمه (شیء Button) در این حالت عمل نمیکند، ولی اگه تنظیم کردهباشید وقتی روی اسپرایتی کلیک شد، فلان اتّفاق بیفته، عمل میکنه! برای رفع مشکل میتونید یک شرط دیگه هم در کنارش بذارید تا فقط اگه لایهاش مرئی (visible) بود اون اتّفاق بیفته، میتونید برای این کار از کاندیشن Layer is visible سیستم استفاده کنید.
برای شخصیسازی نوار لود، در مشخّصات پروژه در نوار Properties گزینهی Use loader layout رو روی Yes قرار بدید، حالا به جای لودینگ، موقع لود بازی اوّلین لیوت شما به نمایش در میآید (نقش لودینگ را بازی میکند)، در نتیجه میتونید اونو شخصیسازی کنید.
معجزات طبیعت هایی هستند که با آنها مأنوس نشدهایم
و طبیعت معجزهایست که با آن انس گرفتهایم
ارسالها: 1,091
موضوعها: 122
تاریخ عضویت: دي 1393
مکان: همدان-ملایر
سپاسها: 236
1923 سپاس گرفتهشده در 1126 ارسال
وقتی شخصی سازی کردیم چطور و در کجا و چه موقع نوار لود خودم قرار بدهم در گیم میکر خیلی راحت به جای انها قرار می دادیم.
ارسالها: 940
موضوعها: 56
تاریخ عضویت: مرد 1393
مکان: مشهد
سپاسها: 338
2562 سپاس گرفتهشده در 736 ارسال
البته لودینگ کانستراکت در بازیهای خروجی گرفتهشدهی نهایی اندروید به نمایش در نمیآید، در بازیهای تحت وب هم فقط دفعهی اوّل دیده میشود، چون وقتی کاربر دفعهی اوّل بازی رو انجام بده در هنگام لودینگ فایلهای بازی در کامپیوترش ذخیره میشوند و دفعهی بعد به سرعت بازی به نمایش در میآید. با این حال، کانستراکت در مورد لودینگ خیلی بیشتر از گیم میکر دستتان را باز میگذارد. شما در کانستراکت به راحتی میتونید لودینگهای عجیب و غریبی خلق کنید، مثلاً در هنگام لودینگ یک مینیگیم بگذارید تا حوصلهی بازیکن سر نرود و خیلی کارهای بسیار جالب دیگه. برای اینکه بفهمید لودینگ چه قدر پیشرفت کردهاست میتونید از اکسپرشن سیستمی loadingprogress استفاده کنید. مثلاً یک متن بگذارید تا این مقدار را نشان دهد، یا خیلی قشنگتر یک بکگراند بگذارید و بگویید عرض آن برابر loadingprogress * Self.ImageWidth شود.
معجزات طبیعت هایی هستند که با آنها مأنوس نشدهایم
و طبیعت معجزهایست که با آن انس گرفتهایم