تغییر عکس اسپرایت
#1
سلام
فرض کنید چند تا عکس برای ابجکت بازی در نظر گرفتیم مثلا یکی قرمز یکی سبز یکی بزرگ و ...
چیکار کنم که کاربر خودش بتونه از بین عکس ها یکیرو به عنوان پلیر بازی انتخاب کنه ؟؟
  پاسخ


 سپاس شده توسط:
#2
آیا هر پلیر قابلیت خاصی دارد یا فقط شکلی عوض می کند.
پلیر فقط یک پوسته است ، یعنی فقط ظاهر دارد و عملیات یکسانی انجام می دهد برای اینکار یک متغییر سراسری رشته ای احتیاج دارید. همه پلیر ها را در داخل یک اسپرایت بیاور. برای راحتی چند پوشه در اسپرایت بساز به تعداد پلیر تان بعد نام انیمیشن ها ترکیبی از نام پلیر و  نام انیمشن(blue_run ,red_run,...) یک متغییر هم داخل شی می خواهید از نوع رشته ای  که نام پلیر را مشخص می کند.
در یک لایوت انتخاب پلیر ، پلیر هایتان را بیآورید و نام انیمشن ها را تغییر داده و متغییر که داخلی را با نام پلیر تایپ کنید(red) شی ناچ یا موس را آورده . در برگه رویداد ها رویداد کلیک کردن را آورده هرگاه روی پلیر ها کلیک شد. محتوای متغییر شی به درون متغییر سراسری ریخته شود.
حالا هر جا انیمشن پلیر در لایوت می خواهد عوض شود ترکیبی از متغییر ساسری(نام پلیر را ذخیره کرده است) و نماد ترکیب رشته ای و نام انیمیشن(var & _run).
حتما نام انیمشن ها برای تمام پلیر ها یکسان باشد.

اما وقتی که پلیر دارای قابلیت های مختلف باشد.
بازیتان چند نفره است؟؟؟؟
من برای یک نفره توضیح می دهم.
یک متغییر سراسری نیاز داریم که نام پلیر را ذخیره کند. شما چند اسپرایت  پلیر دارید. چون بازی شما گروهی است باید از قابلیت گروهی استفاده کنید. شما در سمت راست داخل  پنجره پروژه که محتوای بازیتان قرار دارد یک پوشه به نام فامیلی است(families) وچود دارد کلیک راست کرده و گزینه اضافه کردن خانواده(add ) را کلیک کنید و تمام اسپرایت های پلیر رابه ناحیه راست انتقال داهد و تایید کنید.
حالا شما یک خانواده از پلیر ها دارید که هر چیزی به این خانواده بدهید بین اسپرایتهای پلیر مشترک می شود. اگر متغییر یا رفتاری دارید که مشترک است بجای اینکه برای هر اسپرایت فرا خوانی کنید در خانواده آنرا ایجاد کنید. یک متغییر در خانواده ایجاد کرده که نامش را name قرار دهید و محتوایش نام پلیر شود.
اکنون به برگه رویدادها رفته وکاری را برای قبلی انجام دادی را هم برای این مثال انجام دهید. بعد از اینکه رویداد  کلید شدن را فراخوانی کردید و اکشن ریختن مقدار متغییر
باید کارهای زیر را انجام دهید.
یک اسپرایت کمکی ساده که مخفی باشد احتیاج دارید. این اسپرایت پلیر جدید  را در نقشه  می سازد.
در برگه رویداد قسمت  رویدادها وشرطها . یک رویداد می سازید روی اسپرایت کمکی کلیک کرده و رویداد ساخت(oncreate) را فراخوانی می کنید. سپس زیر شرط های زیر
برای هر پلیر بایسیتی یک دستور ساخت مستقل ایجاد کرد.
زیر شرط ها :  اگر متغییرسراسری red شد اسپرایت رد ایجاد شود . اگر متغییر سراسری blue an ....
برای کد نویسی در برگه رویداد هاهم. قسمت های مشترک مثلا کم شدن خون هنگامی که پلیر به دشمن برخورد کرد بجای فراخوانی  تک تک پلیر ها از فامیلی استفاده کن.
  پاسخ


 سپاس شده توسط: mamaloo79 ، Vizmark# ، roozbeh ، keyhan
#3
سلام،

میتونید از این سورس استفاده کنید.با فشردن space ظاهر پلیر تغییر پیدا میکنه...
--------------\\\\\\\\\\*******\\\\\\\\---------------------------\\\\\\\\\\**********\\\\\\\---------
[تصویر:  vngames_mobarez.png]


*«يَرْفَعِ اللَّهُ الَّذِينَ آمَنُوا مِنْكُمْ وَ الَّذِينَ أُوتُوا الْعِلْمَ دَرَجاتٍ//خداوند کسانی را که ایمان آورده اند و کسانی را که دانش به آنان عطا شده است.درجات عظیمی می بخشد.»(قرآن کریم، المجادلة، 11 ‏)*

*پیامبر اکرم (ص) فرمود:«علم آموزي بر هر مرد و زن مسلمان، واجب است.»(مصباح‏ الشريعة، ج 13)
  پاسخ


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


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
  اجرای بازی در گوشی selno 2 2,385 1403/10/23، 12:35 صبح
آخرین ارسال: Tggi
Sad خروجی اندروید با Intel xdk ya mahdi 0 126 1403/8/25، 02:09 عصر
آخرین ارسال: ya mahdi
  گروه انجمن کانستراکت sahabia-games 0 1,205 1401/4/30، 04:17 عصر
آخرین ارسال: sahabia-games
  کمتر شدن عدد از صفر tohidrajabali 0 1,150 1401/2/26، 01:06 عصر
آخرین ارسال: tohidrajabali
  مشکل در تاچ کردن mehdi 3 3,123 1400/12/21، 11:09 عصر
آخرین ارسال: mehdi

پرش به انجمن: