adober

adober

adober

adober

ساخت بازی دو بعدی

آموزش ساخت بازی های دو بعدی حرفه ای و سادهمحل انتشار : سایت تبیان ٫ انجمن1388انجین : 7

سطح : از مقدماتی تا حرفه ای

برایی ساخت این بازی یک مقدمه کوچولو جایز است !

من با این آموزش قصد دارم بگم که برای ساخت یک بازی زیبا حتمآ لزم نیست که

یک برنامه نویس یا یک متخصص باشید بلکه باید یک خلق خوبب باشید

اگر مایل باشید من یک تو ضیح بدم و بعد بریم سر اصل موضوع . در این جا ما می خواهیم یک

بازی بسازیم که در آن شخسیت مورد نظر به جلو برود به عقب حرکت کند با فشار دادن بال

پرش کند و وقتی به شیع مورد نظر بر خورد کرد بمیرد و از همه مهم تر این که مرحله رد کند و به

مرحله بعدی برسد .

قسمت اول : اسپرایت کاراکتر

را اجرا کرده و روی گزینه اسپرایت که همان شکل قرمز

سورتک

کنین برای ساخت

شخسیت بازی )

همون حالت تیر زدن و حرکت . ایستادن و مردن است

شرع کنیم که نیازی به عکس متحرک ) برای نشان دادن حالت راه رفتن آدم به عکس متحرک نیاز

را میزنیم

تا کادر محاوره ای بسته شود

برای نمونه یک همچین چیزی

بکشید تا این شکل به

کاراکتر اصلی ما تبدیل شود

game maker برای شروع کار محیطload با دهان باز است کلیک کنید سپس در محیط باز شده یک عکسبهتر است چند عکس داشته باشیم که حالت های مختلف رو نشون بده منظورم( نمونه خیلی سادش اینه که ما با یک رباتok کرده و در نهایت کلید load است ( نداشته باشیم عکس مورد نظر را انتخواب کرده وpint با

load

بردارید .

کردن و یادتون رفت این تیک ها را بزارید . با دابل کلیک روی اسپرایت )این

می کنم ( از این قسمت که در تصویر میبیند میتوانید کادر بال را باز کنید و

تغیرات دهید

راستی تا یادم نرفته بگم که برای این که کاراکتر بتواند روی یک سطح بایستد باید بعد ازpricis collision cheking را بزارید و تیک smooth edge کردن عکس باید تیک گزینهload اگر تصویر راload شکل ها که

قسمت اول : اسپرایت زمین

load

می کنیم .

ب

دباره روی شکل صورت دهن باز کلیک میکنیم . بعد یک شکل که ترجیهآ مسطتیل باشه روload نقاشی شده بود را paint می کنیم همانند اوردن آدم آهنی که بارای زمین باید بر داشت ٫ smooth edge و pricis collision cheking تیک دو گزینه

یک نکته : بهتر است سایز اسپرایت زمین از این که در تصویر میبینید بزرگتر نشود .

می کنیم )روی شکل دهن باز کلیک و.....( اما دست به

تیک ها نمی زنیم . این اسپرایت می خواهد دشمن متحرک شود

برای نمونه این شکل

load اسپرایت دشمن هم مانند بال

اسپرایت مخفی

اسپرایت می خواهد در تصویر معلوم نباشد و در جایی قرار بگیرد که در مسیر عبور دشمن

متحرک است . دشمن با برخورد به این اسپرایت مخفی جهت خود را رو به عقب بر گر داند و باز

با برخورد به این اسپرایت دباره جهت عوض کند --<< مثل دشمنان قارچ خود که بین دو نقته

مدام رفت و آمد دارند

اینم مثل اسپرایت دشمن یک شکل کوچک بدون قیافه مثل مربع تو پر . این

چیست :

مجموعه دستوراتی که به یک اسپرایت نسبت داده می شه OBJECT

برای ساخت ابجکت باید روی این دایره آبی رنگ در منوی گیم میکر کلیک کنید

اول )

OBJECT( قسمت دوم : ساخت آبخکت

بعد از کلیک روی دایره آبی این کادر باز میشود که در آموزشات موجود در

ناقص توضیحی داده شده این پنجره به شکل زیر است .

اسپرایت را از جایی که در بال با علمت سیاه رنگ مشخص کردم بر میداریم ) اسپرایت آدم

بعد . )

سایت تبیان به صورتsprite آهنی را با نام 0

را

انتخاب کنید

کلیک کنید . و اینبار

را انتخاب کنید

>left< کلیک کنید . و key press کلیک کنین در منوی باز شده روی Add Event روی دکمهkey press کلیک کنین در منوی باز شده روی Add Event باز هم روی دکمه>Right<

کلیک کنید . و اینبار

را انتخاب کنید

key press کلیک کنین در منوی باز شده روی Add Event باز هم روی دکمه>Up<

این مجموعه دستوراتی است که وقتی کلید را فشار داده ایم شروع به عمل میکنن اما ما می

خواهیم که موقعی که کلید را رها می کنیم اسپرایت ایست کند . یعنی می خواهیم برای نمونه

با فشار دادن کلید چپ اسپرایت به چپ حرکت کند و با رها کردن کلید چپ اسپرایت ایست کند

استفاده می شود

را

انتخاب کنید

کلیک کنید . و اینبار

را انتخاب کنید

key release پس اینبار از ایونت>left< کلیک کنید . و key release کلیک کنین در منوی باز شده روی Add Event روی دکمهkey release کلیک کنین در منوی باز شده روی Add Event باز هم روی دکمه>Right<

کلیک کنید . و اینبار

را انتخاب کنید

key release کلیک کنین در منوی باز شده روی Add Event باز هم روی دکمه>Up<

تا لیست ایونت ها به شکل زیر در آید

حال نوبت به دستور دادن به ایونت ها می شود )به این کار میگن اکشن دادن (

را با یک کلیک به رنگ آبی در می آوریم )های لیت می کنیم (

می کشیم و رها می کنیم . . . کادر محاوره ایی باز میشود

من

یعنی چپ حرکت می خواهد بکند .

فعال شود با نگه داشتن کلید جهت نمای چپ سرعت ، ثانیه به ثانیه

افزایش پیدا میکند

را با یک کلیک های لیت میکنیم میبینیم که منوی اکشن خالی ما می

خواهیم اسپرات آدم آهنی به سمت راست بره پس را میکشیم در کادر سفید اکشن و رها

می کنیم این بار سرعت

منظورو می گیره!

کلیک می کنید

را با یک کلیک های لیت می کنیم

می کشیم و رها می کنیم . . ..

کلیک می

کنید

را با یک کلیک های لیت میکنیم میبینیم که منوی اکشن خالی است

را میکشیم در کادر سفید اکشن و رها می کنیم

دست رو از کیبرد برداشتی اسپرایت از حرکت بایستد.

کلیک می کنیم .

press <left< ایونتactions بعد را توی صفحه سفیدسرعت 3 - رو . hor.Speed که در آن باید سرعت حرکت افقی را تعیین کنیم با نوشتن عدد درleft پیشنهاد می کنم باید منفی باشه چون در جهتrelative نکته : اگر گزینه یpress <Right< ایونت3 رو به اون می دهیم لزم نیست علمت + پشت 3 بگزارید خود برنامهOK و روی دکمهrelease <left< یونتسرعت 0 صفر می کنیم actions بعد را توی صفحه سفیدOK چون وقتی دست رو از کیبرد برداشتی اسپرایت از حرکت بایستد. و روی دکمهrelease <Right < ایونتسرعت 0 صفر می کنیم چون وقتیOK روی دکمه

آبجکت دوم باید ساخته بشه

همانند روش قبل اسپرایت می آوریم آما اسپرایت زمین رو این ابجکت نیاز به هیچ ایونتی ندارد

را گذاشت .

کلیک می کنیم و آبجکت قبل را اجرا می کنیم ) الن تو ضیح میدم (

solid فقط باید تیکOK حال روی دکمه

را اجرا کنید . و

object با کمک روش بال 0

میبینیم که پرس آپ و ریلس آپ نا پدید شدن این به خاطر نبودن دستور درونشون بود

و انتخاب ایونت و انتخاب آبجکت زمین

می سازیم . بعد به آن اکشن را میدهیم تا بین ادمک و زمین فاصله ای بماند در قسمت

باید حد اکثر

Add Event یک ایونت جدید با زدن دکمهmaximum تایپ شود و در قسمت direction به معنی موقعیت باید همان direction

کلیک می

کنیم

حال در زیر این اکشن یک اکشن دیگر می گذاریم که با شکل شناس است این اکشن

سرعت عمودی را مشخص می کند که باید صفر با شد

کلیک می کنیم

OK فاصله بین زمین و ادم مشخص شود عدد 12 پیشنهاد من است .حال روی دکمهOK و در آخر روی دکمه

معنی پاراگراف بال چیست ) خیلی مهم (

در پاراگراف بال از ایونت استفاده شد کار این ایونت این است که هرگاه

اسپرایت

در باره دستورات روبه رو که همان اکشن ها بودند توضیح داده شده بود .

0 یعنی آدم آهنی با زمین بر خورد کرد دستورات روبه رو اجرا شود.

Event

مهم ترین و آسان ترین

دوباره

کلیک کنین این ایونت یعنی اکشن های روبه روی خود را قدم به قدم بازی اجرا میکند . ما برای

یعنی جاذبه در نظر می گیریم که در قدم به قدم بازی ما نیروی

جاذبه داشته باشیم

زاویه رو

باشد و شدت جاذبه هم رو یک می گزاریم

کلیک می کنیم

step کلیک کنین و یک بسازید . بعد روی نوشته Add Event روی دکمهgraviti این ایونت اکشن270 درجه میکنیم که رو به پایینOK بعد روی دکمه

آخر ، پریدن

!!! Event

>

را انتخواب می کنیم

اکشن از سر منوی

انتخابکنید و بکشید . به این مدل اکشن های

Up< رو انتخاب میکنیم و بعد هم نوشته add event بی مقدمه از منوی6 ضلعی شرط می گن ٫ اکشن control

شرت می کنه که اگر چپ یا راست یا بال یا پایین اسپرایت ما خالی باشد دستور زیر را انجام

دهد ) اکشنی که زیرش قرار می گیره (

اما ما میخاهیم اگر زیر اسپرایت ما

را میزنیم که کار دستور را بر

عکس می کند .

برابر با

کلیک می کنیم و میریم سراغ اکشنی که قراره زیر این قرار بگیره .

یعنی اکشن که باید عدد درون آن منفی باشه تا رو به بال بپرد من عدد

می بندیم .

٫٫٫ یک نما از کار ٫٫٫

پر بود دستور زیر انجام شود ) دستور زیر همان پرشNOT است ( اگر ما روی زمین بودیم پرش کند برای همین تیک1 باشه Y خورده باشه و relative برای این که دستور به زیر اسپرایت نگاه کنه باید تیکOK حال روی15 - رو پیشنهادOK میکنم .پنجره مربوط به اکشن سرعت عمودی را هم با زدن دکمه

یک خبر خوب

شما دیگر نیازی به دادن اکشن ها ندارید . تمها مونده که یک زمین زیبا برای بازی بسازید که

البته با استفاده از آبجکت هایی که ساخته اید !!!زمین بازی ( (

در صفحه اصلی گیم میکر کلیک کنیم در عکس

زیر با فلش قرمز مشخص شده .

و روی کادر سفید رنگ کلیک می کنیم و آبجکت

یعنی آدم آهنی رو انتخواب می کنیم و یه جایی اون بال های سفحه مشبک کلیک می کنیم تا

روی

کیبرد و نگه داشتن کلیک ماوس روی جایی که می خواهیم زمین باشه میشه یک خط کشید .

به شکل زیر نگاه کنید .

٫

٫

٫٫

٫٫٫

٫٫٫٫

٫٫٫

٫٫

٫

همان طور که در شکل بال دیدم ما یک زمین به این صورت ساختیم .پس روی دکمه تیک سبز

رنگ که در بالی پنجره است کلیک می کنیم .

ROOM ساختRoom برای ساخت اتاق بازی ما باید روی دکمه0 Object بدون مقدمه میریم سراغ سر صفحهshift آدم آهنی اونجا ظاهر شود بعد آبجکت زمین را انتخاب می کنیم ٫ با نگه داشتن کلید

حال نوبت دیدن بازیه !

برای دیدن بازی روی دکمه کلیک میکنیم وبازیی که ساختیم را

بازی میکنیم .

بازیه خوبی شده ولی صفحه اش

خیلی کوچیک شده مامی خواهیم

صفحه دنبال آدم آهنی حرکت کنه

نه این که یک مربع ساده باشه .که

وقتی ازش خارج بشی آدم آهنی رو

نشه دید .

ما برای اینکه دوربین دنبال آدم آهنی

حرکت کنه یک راه داریم که بعدآمیگم

بهتون .

تغیر صفحه خاکستری پشت بازی کن به عکس

دلخواه

برای این کار باید از صفحه اصلی گیم میکر یک بک گراند یا تصویر زمیمه باز کنیم .) در عکس زیر

محل دکمه بک گراند مشخص است (

را می زنیم

حال به سراغ رومی که قبل ساختیم می رویم )در صفحه قبل تو ضیح داده شده (

و مطابق دستورات عکس پایین تیک شماره یک را بر میداریم و از شماره

صفحه را انتخاب میکنیم .در بیاریم .

OK بعد در صفحه باز شده عکس مورد نظر را لود می کنیم و کلید2 هم تصویر پشتroom میتونیم عکس زا به یایز stretch نکته : با گذاشتن تیک

stretch

اینم یه عکس بدون گذاشتن تیک

ساختن دشمن متحرک

دشمن بسازیم و اکشن زیر را به

او بدهیم

ایوت کریت را انتخواب می کنید و اکشن بال را درونش قرار می دهید

مثل بال سرعت و جهت را مشخص می کنید .

ابجکت را می زنیم و یک آبجکت جدید باز میکنیم .

را نداشته باشد تا در بازی

نا مرئی باشد

و اسپرایتی که باز میکنیم همان اسپرایت مستطیل ساده باشد .

از منوی کشویی ابجکت اسپرایت دشمن را انتخواب می کنیم .

می بندیم

دباره ابجکت دشمن را باز می کنینم

اکشن هم مانند عکس بهش اذافه میکنیم

از منوی ایونت باید ایونت برخورد استفاده شود و آبجکت مستطیل انتخواب می

شود

اکشن هم که در عکس مشخصه

می کنیم

در روم اول آبجکت دشمن را اضافه می کنیم بعد آبجکت مستطیل را با فاصله زیاد در سمت راست

و چپ دشمن قرار میدهیم

مانند شکل زیر :

اگر بازی را نگاه کنیم میبینیم که دشمنی متحرک در مقابل ماست که مدام بین دو نقطه تحرک

دارد.

sprite برای این کار باید یک مثل آبجکت آدم آهنی بسازیم ولی باAdd Event به این صورت که ازOK اکشن و OK حالVisible یا همان جامد را داشته باشد و تیک soild این آبجکت باید تیکOK آبجکت را با زدنok حال می رویم سراغ رومی که ساخته بودیم و آبجکت بال را

چی کار کنیم که هنگام بر خورد با دشمن بمیریم و بازی از اول تکرار شه

کار زیاد سختی نیست تنها باید در آبجکت آدم آهنی یک ایونت از نوع برخورد بسازیم و آبجکت

بدهیم مانند :

mine دشمن را انتخواب کنید وبه ان اکشن ریستارت روم را از سر منوی 1

مرحله چگونه بسازیم

اینم کار ساده ایه میتونید در آخر روم یک ابجکت بسازید که هنگام برخورد با آدم آهنی

به مرحله بعد بروید البته باید مر حله بعد

)

mine از سر صفحه 1 go to next room با اکشنRoom را ساخته باشد )باساختن یک

حرکت دوربین به دنبال آبجکت

برای حرکت دور بین از روش زیر رومی را که ساخته اید باز کنید )زمین بازی (

تبق عکس زیر پیش بروید

در نظر می گیرم توجه داشته باشید که هردو کادر

H: = و 300 W: = من برای سایز صفحه 300

بحتره که یک جور مقدار دهی شوند .

را :

هم

بهتره بازیی که ساخته ایم را نگاه کنیم زیرا برای درک موضوع های بال بهترین راه است

Vsp و :Hsp . حال آبجکت آدم آهنی رو انتخواب کنید . تا دوربین بدنبال آدم آهنی حرکت کند100 یا بیشتر قرار دهید این اعداد تایین می کند که دوربین از کجای صفحه بدنبال ابجکت بره

با امید دستیابی به درجات بالتر خدا نگه دار

» انداختمتون رو چرخ « من نکات ریز و درشت را در این جزوه آموزشی به شما گفتم و

حال شما با تلش بیشتر آگاهی های بیشتری راجع به اکشن ها و عمل کردن آنها به دست می

آورید .

P30WPRLD

یاهوی من ٫ هرکی هر سوالی داره می تونه برام آف بزاره یا ازم بپرسه

در انجمن mst_ab در آخر جا دارد تا تشکر کنم از استاد خوبم آقایID اینم

ehsan_wwe_2000

کپی برداری از این مطلب مشکلی نداره

کشور عزیزمان

چون هدف من بال بردن سطح بازی سازی افغانستان است

تا یادم نرفته بازی هایی که ساختید را برای من ارسال کنید

خدا نگه دارهمه بندگان پاک دامن

 پروردگار عالم

به نام پروردگار عالم

موضوع آموزشی :

P30World

نام نویسنده : رضا

تاریخ انتشار :

game maker