ورود

View Full Version : نحوه Rendering صفحه



manager
شنبه 17 آذر 1386, 20:03 عصر
سلام

من در حال نوشتن یک بازی ساده با جاوا هستم. تو این بازی از Java 2D API استفاده می کنم. یعنی به صورت ترسیمی این کار رو انجام می دم. فرض کنید من چند تا شیئ دارم با عناوین BallController, PaddleController و یا AwardController این اشیاء همونطور که از اسمشون پیداست کار مدیریت, کنترل و ترسیم اشیاء مربوطه را انجام می دهند. مثلا کلاس BallController کار ترسیم توپ ها رو انجام می ده.
سوال :
1- آیا نیازی هست هر کدوم از این اشیاء کار ترسیم رو در Thread جدا انجام بده ؟
2- کار ترسیم رو در داخل اشیاء باید انجام بدم یا به کلاس دیگری باید محول کنم ؟ (مثلا ballController.balls[i].draw()درست است ؟
3- آیا الگوریتم زیر صحیح است ؟

متد اصلی کنترل کننده بازی


1- ballController.controlPulse() // set ball moving state
2- paddleController.controlPulse() // check keyboard
3- ...
4- ballController.draw() // draw all internal balls
5- paddleController.draw()
6- goto 1 while game not ended

4- فرکانس ترسیم رو چقدر باید تنظیم کنم که نه CPU خوره داشته باشیم نه Slow Motion باشه؟
5- کنترل صفحه کلید و یا موس رو باید در فرکانس ترسیم (مثل الگوریتم فوق) چک کنم یا جای دیگه ؟

پیشاپیش از توجه تون ممنونم....

seyedof
جمعه 23 آذر 1386, 13:13 عصر
سلام
هر شی باید ترسیم خودش رو داشته باشه و بعد یک دفعه همه ترسیمها رو انجام بدین.
سرعت بازی و تایمینگ خیلی مهمه ! من بازیهای ایرانی زیادی رو دیدم که این موضوع نسبتا ساده رو رعایت نکردن و روی هرسیستمی بازی با یک سرعت اجرا میشه ! شما باید یک کلاس تایمر داشته باشید و محاسباتتون رو بر مبنای زمان واقعی محاسبه شده توسط اوون کلاس انجام بدهید که به سرعت cpu وابسته نباشه.
ممنون علی

lord_akinak
شنبه 24 آذر 1386, 14:40 عصر
برنامه نویسی بازی برای Java و کلا برنامه نویسی بازی ها رو با این کتاب شروع کردم ، از 2D شروع می کنه و تا 3D پیش میره ...
مفت هم هست ...!
Killer Game Programming in Java
http://fivedots.coe.psu.ac.th/~ad/jg/index.html