دانلود نسخه PDF امروز : دانلود
۱-۱- روز اول : آماده کردن زیربنا
در اینجا بازی و سرگرمی شروع خواهد شد!
قیل از اینکه کدنویسی رو شروع کنیم نیاز است نکاتی رو یادآور شوم تا از ابهاماتی که ممکن است بعدا برایتان پیش آید جلوگیری کنم :
- ابتدا بازی مورد نظر را در زبان جاوا طراحی خواهیم نمود و کاری به اندروید نخواهیم داشت. این مسئله به ما کمک خواهد کرد تا شبیه سازی ها را راحتتر انجام دهیم، همچنین این روشی استاندارد در طراحی بازیست و کار را راحتتر خواهد نمود. در بخش پایانی بازی ساخته شده در جاوا را به اندروید منتقل خواهیم نمود.
- لذا لازمست به زبان برنامه نویسی جاوا آشنایی داشته باشید و بعد به خواندن این مطلب بپردازید.
- از آن جا که این مقاله صرفا به موضوع خود می پردازد یعنی ساخت بازی و پیش فرض آن است که شما قبلا برنامه هایی در اندروید نوشتید و می خواهید وارد دنیای ساخت بازی شوید و با محیط برنامه نویسی اکلیپس آشنایی دارید لذا دیگر به پایه ها پرداخته نخواهد شد.
۱-۱-۱- راه اندازی پروژه
این قسمت بسیار ساده و راحت می باشد. ابتدا اکلیپس را باز کرده و یک پروژه جاوا ایجاد کنید. شبیه شکل زیر اسم آن را CodeAndroid بگذارید. البته می توانید نامی دیگر دلخواه نیز انتخاب کنید، اما برای پرهیز از بوجود آمدن مشکل در ادامه سعی کنید با همین نام پروژه را ایجاد کنید.
همان طور که در شکل بالا دیده می شود کامپایلر جاوا روی JavaSE-1.7 می باشد. ممکن است این نسخه ۱٫۸ یا ۱٫۶ باشد که فرقی نخواهد کرد. هر آنچه در رایانه شما موجود میباشد آن را قرار بدهید.
بعد از ایجاد این پروژه پوشهای با نام پروژه در سمت چپ مشاهده خواهید نمود. داخل این پروژه پوشهای به نام src می باشد. کلاس ها و تمام اطلاعات مورد نیاز برای انجام پروژه در این پوشه قرار خواهد گرفت.
برای ادامه کار ابتدا بسته ای با نام codeandroid مانند شکل زیر ایجاد کنید.
بعد از ایجاد این بسته لازم است اولین کلاس پروژه خود را با نام ShoroClass ایجاد کنید.
هم اکنون آماده اضافه کردن کدها خواهیم بود.
۱-۱-۲- اضافه کردن متدها و بسط کلاس Applet
در این لحظه پیش فرض من این است که شما با پایه های برنامه نویسی جاوا آشنایی دارید و مفهوم عبارات را درک می کنید لذا به آموزش آن ها نخواهم پرداخت. (بگذارید توضیحی در مورد کلاس Applet دهم، این کلاس مثل Activity در اندروید می باشد، در واقع با به کار بردن این کلاس ما یک پنجره در ویندوز در اختیار خواهیم گرفت که می توانیم اشکال و … را در آن رسم کنیم، پس Applet یک پنجره است.)
بعد از ایجاد کلاس شروع (ShoroClass)، به ترتیب کارهای زیر را انجام دهید:
- کلاس شروع را به عنوان زیر کلاسِ، کلاس Applet تعریف نمایید این کار را با اضافه کردن extends Applet
بعد از نام کلاس به صورت زیر انجام دهید. این کار همان طور که میدانید باعث می شود ما از متد های کلاس Applet استفاده کنیم.
- از آن جا که در پروژه از کلاس Applet استفاده کردیم باید بسته ای را که این کلاس به آن تعلق دارد را به پروژه اضافه کنیم. معمولا اکلیپس این کار را برایمان انجام میدهد ولی در غیر این صورت شاهد خط قرمزی زیر عبارتی که اضافه کردیم خواهیم بود. برای اضافه کردن بسته این کلاس و همچنین رفع خطا کافیست دکمه های Ctrl+Shift+O را با هم فشار دهیم.
- هم اکنون که ما کلاس Applet رابه پروژه خود اضافه نمودیم می توانیم از متدهای start() ; init() ; stop() ; destroy() ; این کلاس استفاده کنیم. این متدها قسمتی از کلاس پدر، Applet می باشد که با اضافه کردن آن به پروژه می توانیم از این ها استفاده کنیم. این متد ها همان طور که از نام آن ها مشخص است مربوط به چرخه زندگی یک اپلت می باشد و هر کدام از آن ها در زمانی مشخص صدا زده می شوند. به طور مثال وقتی پنجره یا اپلت باز می شود متد init و start صدا زده می شود.
- حال نوبت به اضافه کردن این متدها به پروژه می باشد. برای انجام این کار یک روش ساده، استفاده از ابزارهایی است که اکلیپس در اختیار ما قرار می دهد. به طور مثال میخواهیم متد init(); را اضافه کنیم. یرای این کار کافیست شبیه شکل زیر چند حرف از این متد را بنویسیم سپس با فشردن دکمه Ctrl+Space اکلیپس پیشنهاداتی به ما می دهد. با زدن روی گزینه مورد نظر (در اینجا گزینه با کادر سبز مشخص شده است) به صورت خودکار اکلیپس این متد را اضافه میکند.این کار در وقت صرفه جویی زیادی میکند. سه متد دیگر را نیز به همین روش اضافه کنید. (چون این متدها در کلاس پدر موجود می باشد، می توانیم از این روش استفاده کنیم.)
- در آخر دکمه های Ctrl+Shift+F را باهم فشاردهید تا اکلیپس کدهایتان را منظم نماید.
خوب حال نوبت این است که در مورد این متدها صحبت کنیم.
این چهار متد به عنوان چهار چوب ساخت یک بازی توسط کلاس Applet ارائه می شود. در طول اجرای بازی در قالب اپلت از هنگام آغاز تا زمانی که کاربر از بازی خارج می شود این متدها نقش خود را ایفا میکنند.خوب اگر در مورد کلمه ای مثل @Override یا super.init(); ابهام دارید ناشی از عدم تسلط به زبان جاواست و میتوانید با رجوع به منابع در مورد آن ها اطلاعات کسب کنید. بحث در مورد پایه ها در این مقاله نمی گنجد. در این جا می توانید خطوط super.init(); ، super.start() و دوتای دیگر را از کدها حذف نمایید زیرا به آن ها نیازی نداریم.
قبل از ادامه بحث لازم است جواب سوالات زیر را بدانیم
- چطور می توان یک برنامه را دائم در حال اجرا قرار داد و تنها با فرمان ما قطع شود؟
- فرآیند اجرای بازی توسط چه ابزاری در جاوا یا زبان های دیگر اجرا خواهد شد؟
- “حلقه بازی” چیست؟
پاسخ ها :
- استفاده از حلقه بی نهایت در بازی. به طور مثال حلقه زیر بی نهایت است زیرا شرط همواره درست می باشد.
While(true){
}
- استفاده از ریسمان. هر برنامه ای که هم اکنون در رایانه شما در حال اجرا می باشد دارای ریسمان یا ریسمان های مختص به خود می باشد. ریسمان مفهوم ساده ای دارد. همان طور که می دانید وقتی یک برنامه شروع به کار می کند در حقیقت رایانه شروع به اجرای خط به خط دستور ها کرده و آن را به پایان می رساند. اما از آن جا که رایانه های امروزی قادر به اجرای چند برنامه در یک لحظه اند این امر ضرورت دارد که هر برنامه در حیطه خود کار کند در غیر این صورت برنامه ها تداخل پیدا می کنند. برای این کار لازم است هر برنامه مرز خود را داشته باشد. ریسمان تعبیرا به این معنا می باشد.و اصطلاح چند ریسمانی از این مفهوم نشات می گیرد. لذا توصیه می شود مفهوم پایه ای آن را در کتب آموزش جاوا پیدا کنید.
- حلقه بازی قسمت اصلی اجرای بازی می باشد. در حقیقت می توان آن را قلب تپنده یک بازی دانست. به عنوان یک توضیح ساده، آن یک حلقه بی نهایت در برنامه می باشد که در هر بار اجرا تغییرات بازی را شناسایی کرده و بازی را به روز رسانی می کند.گرافیک، حرکت ها و جابجایی ها از این قبیل تغییرات می باشد.
به عنوان مثال می توان حلقه زیر را به عنوان حلقه بازی در نظر گرفت.
While(bazikon_zendeh_ast){
Berooz_resani_makan_va_graphic();
}
در این حلقه تا زمانی که بازیکن زنده است در هر بار اجرای حلقه متدی فراخوانی می شود که جابجایی و گرافیک ها را بروز رسانی می کند.
این مثال به عنوان یک حلقه ساده می باشد. همینطور که آموزش پیش می رود حلقه بازی ما شکل خواهد گرفت و جنبه های متفاوت آن را خواهیم دید.
بخش اول آموزش اینجا به پایان رسید. در بخش بعد به آموزش واردکردن ریسمان و حلقه بازی که به عنوان قلب تپنده برنامه می باشند خواهیم پرداخت.