رفتن به مطلب

آموزش کامل ساخت بازی ساده و جذاب با B4A !


محمدرضا معتمدی

ارسال‌های توصیه شده

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

 

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

 

چون حس میکنم وسطش نمیتونم آموزشو تموم کنم  :D 

 

چیز خاصیم نیس !

 

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

 

ایده بگیری و آموزش کاملا اختصاصیه این سایت هست و منبعش برای درج در جای دیگه باید ذکر بشه با این ک در این حد هم نیس کارای من ک کپی کنن  :oops: 

 

بعد یه چیز دیگه بسازی چون اینی ک آموزش میدمو دیشب ساختم فرستادم بازار با دیزاین ضعیفم :'( 

 

یه همچین بازی فقط با استفاده از تیک لایبرری PHONE

 

Screenshot_%DB%B2%DB%B0%DB%B1%DB%B5_%DB%

 

 

 

خب آموزش شروع شد توجه کنید  :crazy: 

 

1 . اصن اولش باید ببینیم چی میخایم بسازیم ایده و ... البته که 80 درصد بازی سازی به گرافیکشه مخصوصا بازیای خعلی ساده مث این

 

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

 

به کاربر میگیم 50 ثانیه وقت داری تا 50 بار بزنی روی این مگسی که با سرعت داره میپره از اینور به اون رو :|

 

و اگه بزنی بردی نزنی باختی 

 

بازیه بسیار اعتیاد آور و جذاب تا حد ممکن باید سخت باشه که نشه برد :|||

 

خب شروع میکنیم

 

اول دستامونو میشوریم و بیسک فور اندروید رو با صلوات باز میکنیم

 

( نکته * : اسپلش و ایناش و صفحع ورودی و .... با خودتون من اصل بازیو میگم حالا )

 

یه لایوت میسازیم

 

و به دیزاینرش دو تا لیبل و یه ایمیج ویو اضافه میکنیم

 

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

 

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

 

خب دیگه کم حرف میزنم کدها رو ببینید

 

توی پروسس گلوبالس تعریف میکنیم اینارو 

Sub Process_Globals
	'These global variables will be declared once when the application starts.
	'These variables can be accessed from all modules.
Dim timer1 As Timer 
Dim t As Timer
Dim m As Int
Dim mt1 , mt2 As Int 
Dim media As MediaPlayer 
End Sub

و اون اجزای دیزاینرم معرفی میکنیم 

 

بعد میایم توی اکتیویتی کریت

Sub Activity_Create(FirstTime As Boolean)
	'Do not forget to load the layout file created with the visual designer. For example:
	Activity.LoadLayout("اسم لایوتتون")
    t.Initialize("t",450) // این واسه ی پریدن مگسه و سرعت تایمره
t.Enabled=True
timer1.Initialize ("timer1",1000) / اینم واسه ی ثانیه شماره که هی کم بشه از 50 به پایین
	timer1.Enabled=True
	m=50 // مقدار 50 ثانیمونه همون اینتی ک مشخص کردیم
End Sub

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

 بصورت رندوم با دو تا rnd چپ و راست

Sub t_tick
i = Rnd(0,100%x)
b = Rnd(0,100%Y)
ImageView1.Left=i
ImageView1.Top=b  

End Sub

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

Sub timer1_tick
 m = m - 1 میگیم ک این اینتمون ک مقدارشو دادیم 50 منهای یک بشه توی تایمر که ثانیه یعنی داره کم میشه 
 Label2.Text = m لیبلی ک نشون میده چقد کاربرد زمان داره تا ببره بازیو مقدارش مساویه اینتمون باشه
 If Label2.Text = 0 Then وقتی ک مقدار صفر شد ینی زمان بازی تموم شد
 timer1.Enabled = False  تایمر متوقف بشه
 Activity.Finish 
 StartActivity(bakhti) بره به یه اکتیویتی دیکه ک توش به کاربر گفتیم باختی
 End If
 End Sub

حالا باید بگیم که هر موقع کاربر زد روی این کاراکترمون ک ایمیج ویو هست چه اتفاقی بیفته میایم توی ساب ایمیج ویو کلیک


Sub ImageView1_Click

mt1 = Label1.Text // مقدار اینت رو مساویه متن لیبل 1 میزاریم ک همون لیبلی هست ک به کاربر میگه  چنتا زدی رو مگس
mt2 = 1 // این اینت هم مساویه یک
	Label1.Text = mt1+mt2 // بعد میگیم هر موقع روی ایمیج ویو کلیک شد لیبل 1 بعلاوه یک بشه  ابنت هامون جمع بشن
	media.Initialize // حالا واس اینکه فهمیدن اینکه کاربر زده روی مگس واسش راحت تر باشه
	اینجا یه صدا تعیین میکنیم ک تا زد روی مگس یا کاراکتر شما صدایی در بیاد مثل صدای مشت خوردن
	media.Load(File.DirAssets,"PUNCH1.WAV")
	media.Play
	
If Label1.Text="50" Then آخرشم میگیم اگه کاربر تونست 50 بار بزنه روی کاراکتر
و اون لیبل ما به 50 رسید
Activity.Finish 
StartActivity(bordi) // بره به اکتیویتی دیگه ک به کاربر بگیم برده و بازی تموم شده !
End If
End Sub // پایان !

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

 

بازیه خفنی نیست ولی برای شروع خوبه برای اعتماد به نفس

 

امیدوارم موفق باشید

 

و شاد 

 

سورس هم به محض تایید برنامم توی بازار چشم , میزارم !

 

یا حق

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

به به.

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

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

به به.

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

 

بله بله خیلی نظر شما درسته

 

ولی در این حد بازی رو میشه خیلی راحت با 100 لاین کد تمومش کرد توی b4a با حجم 700 کیلوبایت

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

سلام

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

حالا شما آموزشش رو گذاشتید دیگه!!

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

سلام

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

حالا شما آموزشش رو گذاشتید دیگه!!

 

سنمون نزدیکه فکرا هم نزدیکه کاظم جان  :D  :S منم همون دیروز عصر فرستادم بازار اینو 

Screenshot_%DB%B2%DB%B0%DB%B1%DB%B5_%DB%

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

محمد آواتار مبارک!! دادا دمت گرم ادامه بده آموزش خوبی بود :S  :tashvigh:  فقط کاش مرحله داشت . چندا ایده بهم دادی بنویسم واسه بعد این پروجم!! :crazy:

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

محمد آواتار مبارک!! دادا دمت گرم ادامه بده آموزش خوبی بود :S  :tashvigh:  فقط کاش مرحله داشت . چندا ایده بهم دادی بنویسم واسه بعد این پروجم!! :crazy:

 

قربونـــت داداش مرسی

 

مرحله رو والا دیگه چیزی به ذهنم نرسید میشد سرعت مگسرو زیاد کرد فقط  :D

خداروشکر :oops:

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

سلام از دوستان کسی کار با کتابخونه opengl را بلد نیست باهاش میشه خیلی بازی های حرفه ای با بیسیک درست کرد .

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

سلام از دوستان کسی کار با کتابخونه opengl را بلد نیست باهاش میشه خیلی بازی های حرفه ای با بیسیک درست کرد .

 

 

من والا اسمشو هم نشنیده بودم فقط یه بار یه بازی روی کامپیوتر نصب کردم ارور OPENGL داد  :D

 

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

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

آقای معتمدی ممنونم ، آموزش جالبی بود


 


فقط اگه امکان داره یه سورس که تو این تاپیک بحسشو کردیم واسه اون هم یه توضیح مختصر بدید که کد ها چطور کار میکنه


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

 

آقای معتمدی ممنونم ، آموزش جالبی بود

 

فقط اگه امکان داره یه سورس که تو این تاپیک بحسشو کردیم واسه اون هم یه توضیح مختصر بدید که کد ها چطور کار میکنه

 

 

سلام خواهش میکنم

 

والا من دیدم اونو ولی اصن توضیحی نداره آخه منم نمبدونم چیشو توضیح بدم داداش

 

یه توضیح مختصر دادم :| انشالله به کار بیاد

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

سلام تو این کد i از کجا اومد؟؟

Sub t_tick
i
= Rnd(0,100%x)
b = Rnd(0,100%Y)
ImageView1.Left=i
ImageView1.Top=b

End Sub

 

 

i چخ جور متغیری هست؟؟؟؟

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

Sub t_tick
i
= Rnd(0,100%x)
b = Rnd(0,100%Y)
ImageView1.Left=i
ImageView1.Top=b

End Sub

 

اینجا i و b قرمزه باید چکار کنیم؟

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

شرمده انگار دیر رسیدم

 

i , b رو تعریف کردیم دیگه :| اینت هستن

 

dim i , b as int

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

  • 3 سال بعد...

من به محض اینکه روی مگس ضریه میزنم برنامم کلا stop میشه و ارور میده ،چه باید بکنم؟؟؟

با تشکر

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

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...