ارسالها: 44
موضوعها: 19
تاریخ عضویت: مرد 1394
مکان: همدان
سپاسها: 82
15 سپاس گرفتهشده در 8 ارسال
سلام
فرض کنید چند تا عکس برای ابجکت بازی در نظر گرفتیم مثلا یکی قرمز یکی سبز یکی بزرگ و ...
چیکار کنم که کاربر خودش بتونه از بین عکس ها یکیرو به عنوان پلیر بازی انتخاب کنه ؟؟
ارسالها: 1,091
موضوعها: 122
تاریخ عضویت: دي 1393
مکان: همدان-ملایر
سپاسها: 236
1923 سپاس گرفتهشده در 1126 ارسال
آیا هر پلیر قابلیت خاصی دارد یا فقط شکلی عوض می کند.
پلیر فقط یک پوسته است ، یعنی فقط ظاهر دارد و عملیات یکسانی انجام می دهد برای اینکار یک متغییر سراسری رشته ای احتیاج دارید. همه پلیر ها را در داخل یک اسپرایت بیاور. برای راحتی چند پوشه در اسپرایت بساز به تعداد پلیر تان بعد نام انیمیشن ها ترکیبی از نام پلیر و نام انیمشن(blue_run ,red_run,...) یک متغییر هم داخل شی می خواهید از نوع رشته ای که نام پلیر را مشخص می کند.
در یک لایوت انتخاب پلیر ، پلیر هایتان را بیآورید و نام انیمشن ها را تغییر داده و متغییر که داخلی را با نام پلیر تایپ کنید(red) شی ناچ یا موس را آورده . در برگه رویداد ها رویداد کلیک کردن را آورده هرگاه روی پلیر ها کلیک شد. محتوای متغییر شی به درون متغییر سراسری ریخته شود.
حالا هر جا انیمشن پلیر در لایوت می خواهد عوض شود ترکیبی از متغییر ساسری(نام پلیر را ذخیره کرده است) و نماد ترکیب رشته ای و نام انیمیشن(var & _run).
حتما نام انیمشن ها برای تمام پلیر ها یکسان باشد.
اما وقتی که پلیر دارای قابلیت های مختلف باشد.
بازیتان چند نفره است؟؟؟؟
من برای یک نفره توضیح می دهم.
یک متغییر سراسری نیاز داریم که نام پلیر را ذخیره کند. شما چند اسپرایت پلیر دارید. چون بازی شما گروهی است باید از قابلیت گروهی استفاده کنید. شما در سمت راست داخل پنجره پروژه که محتوای بازیتان قرار دارد یک پوشه به نام فامیلی است(families) وچود دارد کلیک راست کرده و گزینه اضافه کردن خانواده(add ) را کلیک کنید و تمام اسپرایت های پلیر رابه ناحیه راست انتقال داهد و تایید کنید.
حالا شما یک خانواده از پلیر ها دارید که هر چیزی به این خانواده بدهید بین اسپرایتهای پلیر مشترک می شود. اگر متغییر یا رفتاری دارید که مشترک است بجای اینکه برای هر اسپرایت فرا خوانی کنید در خانواده آنرا ایجاد کنید. یک متغییر در خانواده ایجاد کرده که نامش را name قرار دهید و محتوایش نام پلیر شود.
اکنون به برگه رویدادها رفته وکاری را برای قبلی انجام دادی را هم برای این مثال انجام دهید. بعد از اینکه رویداد کلید شدن را فراخوانی کردید و اکشن ریختن مقدار متغییر
باید کارهای زیر را انجام دهید.
یک اسپرایت کمکی ساده که مخفی باشد احتیاج دارید. این اسپرایت پلیر جدید را در نقشه می سازد.
در برگه رویداد قسمت رویدادها وشرطها . یک رویداد می سازید روی اسپرایت کمکی کلیک کرده و رویداد ساخت(oncreate) را فراخوانی می کنید. سپس زیر شرط های زیر
برای هر پلیر بایسیتی یک دستور ساخت مستقل ایجاد کرد.
زیر شرط ها : اگر متغییرسراسری red شد اسپرایت رد ایجاد شود . اگر متغییر سراسری blue an ....
برای کد نویسی در برگه رویداد هاهم. قسمت های مشترک مثلا کم شدن خون هنگامی که پلیر به دشمن برخورد کرد بجای فراخوانی تک تک پلیر ها از فامیلی استفاده کن.