موتورهای فیزیکی در فلش

DaDaDooDoo

کاربر VIP
اولین سوالم در مورد اون فانکشنی هست که محیط رو آپدیت می کنه . می خوام بدونم حلقه بر چه اساسی تکرار می شه ؟ و اصلاً چرا حلقه تکرار ؟
 

BehrouzPc

پــــادشــاه فــلــــش
اولین سوالم در مورد اون فانکشنی هست که محیط رو آپدیت می کنه . می خوام بدونم حلقه بر چه اساسی تکرار می شه ؟ و اصلاً چرا حلقه تکرار ؟
برای این که در هر لحظه می بایست تمامی اشاء موجود از نظر مواردی که درون for هست چک و به روز رسانی شوند
به همین دلیل می بایست حلقه باشد که بتواند همه اشاء موجود را در بر بگیرد
در واقع این عمل فقط بر روی اشاء زنده صفحه اعمال می شود
 

amird

خبرگان انجمن فلش
PHP:
for (var bb:b2Body = m_world.m_bodyList; bb; bb = bb.m_next)
این کد حلقه هست . توضیحاتش رو که بهروز جان گفت . اساسش هم که در واقع همون شرط حلقه هست بر می گرده به m_bodylist
که تعداد بدنه های (body) موجود در جهان رو بر می گردونه . خوب پس در نتیجه این حلقه به تعداد بدنه های موجود در جهان تکرار می شه .
توضیحات واضح هست ؟ :)
موفق باشی
 

DaDaDooDoo

کاربر VIP
خوب بله مشکل اول حل شد ، ممنون . اما سوال دومم اینه که userData نوع آبجکت های محیط رو برمی گردونه ؟ من اون عدد 30 رو که در حلقه قرار داره (BB.m_userData.x = BB.GetPosition().x * 30) هم به 3 و هم به 300 تغییر دادم ، اما تفاوتی احساس نکردم . این کد دقیقاً چی کار می کنه ؟

ممنون .
 

amird

خبرگان انجمن فلش
خوب بله مشکل اول حل شد ، ممنون . اما سوال دومم اینه که userData نوع آبجکت های محیط رو برمی گردونه ؟ من اون عدد 30 رو که در حلقه قرار داره (BB.m_userData.x = BB.GetPosition().x * 30) هم به 3 و هم به 300 تغییر دادم ، اما تفاوتی احساس نکردم . این کد دقیقاً چی کار می کنه ؟

ممنون .

خوب در مورد اینکه userdata نوع آبجکت رو برمی گردونه که درسته حرفی هم توش نیست .
اما در مورد این عدد 30 ....! یادته گفتم این موتوره واحدش پیکسل نیست (بر حسب متره) و برای همین باید بعضی از جاها بر حسب نیاز برای اینکه ابجکت ها درست بیان توی تصویر این عدد رو ضرب یا تقسیم بر مقدار متغیر مورد نظر کنیم . خوب پس این تا اینجا که چرا 30 .

حالا یه خورده توضیحات رو عمقی تر می کنم و البته خودمونی تر :green:. ببین این تابع update کارش اینه که وقتی یه ابجکت چپ و چوله* می شه سریع جهان رو برای این چپ و چولگی آماده کنه خوب این چپ و چولگی هم با استفاده از مختصات ابجکت که همین x , y هست اعلام می شه دیگه . قسمت سمت راست کد می گه که مختصات x یا y ابجکت رو بگیر و اون رو با مقدار فعلیش جایگزین کن و چون این تابع هم به صورت enter frame داره اجرا می شه همینطور این اتفاق می افته .
در ضمن من عددها رو که تغییر می دم کاملا تفاوت رو حس می کنم !!

*چپ و چوله = منظور چرخش + برخورد + جابجایی مکانی می باشد .
 

DaDaDooDoo

کاربر VIP
من عددها رو که تغییر می دم کاملا تفاوت رو حس می کنم !!

متوجه شدم . از توضیحاتتون ممنون .

نمی دونم من که واقعاً فرقی ندیدم ، حتماً اشتباه می کنم ... شما از شامپو مس استفاده می کنید حتماً ... !
 
آخرین ویرایش:

amird

خبرگان انجمن فلش
با سلام
1 : این آموزش نیست اما توش از هیچ چیز جدیدی استفاده نکردم .
2- 3 تا باگ داره . یکیش قابل حل هست اما 2تاش همت دوستان رو می طلبه .
3- اصلا گرافیک نداره . یعنی اصلا حوصلم نشد برای گرافیکش وقت بذارم .
4- اینایی که گفتم مربوط می شه به یک بازی ساده که با box2d ساختم .:green:
5- سبک بازی حداقل برای خودم جدید نیست . این بازی رو قبلا دیده بودم جایی ولی خوب با تفاوت های کلی با این بازی من امیداوارم لذت ببرید .
6- لینک بازی http://darajeh.net/amirUploads/contactGame/contactGame.swf
7- راستش سورس بازی چه فایل فلش چه اکشن خیلی درهم بودن . برای همین نذاشتم . کسی دوست داشت بگه براش می فرستم .
8- موفق باشید:rose:
 

gamemaker

New Member
با سلا م و خسته نباشید بابت مطالب بسیار مفیدتون
اما لینکهای دانلود همه مشکل داشت :(((((((((((((
 

gamemaker

New Member
با تقدیم سلام و خسته نباشید از مطالب بسیار مفیدتون اما لینکهای دانلود صفحه دو همه مشکل دارند :((((((((((((((((((((((
 

amird

خبرگان انجمن فلش
سلام
درسته حق با شماست در لینک اول اصلاحیه گذاشتم به این مضمون:
با توجه به گذشت مدت ها از ایجاد این پست و تغییر آدرس سایتم. لطفاً هر جا که آدرس amirdarajeh.com بود توی لینک ها از آدرس darajeh.net استفاده کنید.

موفق باشید.
 

جدیدترین ارسال ها

بالا