رفتن به مطلب
برای استفاده از انجمن و عضـویت کلیک کنید.

AnswerCenter

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

  • مرجع پاسخگویی
  • تولید آموزش
  • سفارش پروژه

درخواست سفارش پروژه

اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

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


بایگانی شده

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

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

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

پست های پیشنهاد شده

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

کاربر فعال

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

 

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

 

چون حس میکنم وسطش نمیتونم آموزشو تموم کنم  :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 // پایان !

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

 

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

 

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

 

و شاد 

 

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

 

یا حق

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


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

کاربر فعال

به به.

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

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


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

کاربر فعال

به به.

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

 

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

 

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

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


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

کاربر نیمه فعال

عالی بود بازم از این آموزش ها بزارین لطفا :ok::gol:

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
Kazem Forghani    2,922

کاربر ویژه

سلام

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

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

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


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

کاربر فعال

سلام

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

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

 

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

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

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
vistamobile    1,645

پاسخگو و راهنما

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

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


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

کاربر فعال

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

 

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

 

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

خداروشکر :oops:

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
امین پوراباذری    1,039

پاسخگو و راهنما

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

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


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

کاربر فعال

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

 

 

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

 

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

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


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

کاربر فعال

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


 


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


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


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

کاربر فعال

 

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

 

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

 

 

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

 

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

 

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

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


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

کاربر نیمه فعال

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

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

End Sub

 

 

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

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


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

کاربر فعال

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

End Sub

 

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

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


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

کاربر فعال

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

 

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

 

dim i , b as int

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


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

کاربر عادی

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

با تشکر

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


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

×
×
  • جدید...