مهدي 2190 مدیر انجمن
تاريخ عضويت: جمعه 26 فروردين 1384 تعداد ارسالها: 402 محل سكونت: تهران
جمعه 7 ارديبهشت 1386 - 11:35 |
|
|
ببین آقا اشکان همون طور که بچه ها گفتن بهتره از زبان قدرتمند C++ برای این کار استفاده کنی .تو مرحله بعد باید بتونی با win32 کار کنی نه mfc . چون mfc یه سری توابع و کلاسهای پیش فرض به پروژت اضافه می کنه که کیفیت موتورت رو میاره پایین .
پس تا این مرحله رو انجام بده و می تونی برای این منظور از مقالات سایت در قسمت برنامه نویسی ویندوز و directx استفاده کنی .
مرحله بعدی کمی سخت تر میشه . چون باید همه چیز رو کلاسه کنی و هر کلاس و تابعی هم باید یه کار مشخص رو انجام بده .
مثلا
bool init_window(hwnd,height,widgth,fullscreen);
برای ساختن یه پنجره باید این تابع کل کارهای مربوط به ساخت پنجره رو انجام بده و بعد
bool init_graphic(hwnd,width,height,fullscreen);
این تابع مثلا directX و یا opengl رو بار گذاری می کنه و در آخر
bool CreateDevice(HWND hWnd, int width,int height,bool fullscreen)
{
}
به طور مثال این تابع باید او دو تا تابع قبل رو تو دله خودش فراخوانی کنه تا کاربر بتونه به راحتی با فراخوانی یه تابه هم پنجره ایجاد کنه و هم API مورد نظر رو بارگذاری کنه و...
و بعد از این لازمه که device مورد نظر عملیات رندر رو داخل یه حلقه while انجام بده تا موقعی که مثلا دگمه esc روی کیبرد زده بشه تا اینکه تا موقعی که پنجره win32 فعال باشه .
while(win_is_active())
{
render();
{
خوب حالا که چهار چوبه کار درست شد می تونی DirectInput ِDirectSound Directplay و یا هر کتابخانه دیگه ای رو بهش اضافه کنی و پیشرفتش بدی .
البته اینا تو تئوری خیلی راحتن ولی وقتی به عمل میرسن کمی اذیت می کنن .
نکته بعدی اینکه از الان باید تصمیم بگیری که موتورت می خواد تو قالب یه DLL دربیاد یا LIB
DLL مشکلات خودشو داره و کمی کار می بره ولی LIB راحتره و تو تستهای متوالی اذیتت نمی کنه .
پس از static library استفاده کن تا بعد از کامپایل پروژت یه فایل LIB درست کنه تا بتونی با دستور زیر اونو هر جایی که خواستی لود کنی .
#pragma comment(lib,"myengine.lib")
ببخشید که کمی نا مرتب شده ، چون هم با عجله نوشتم و هم از تگ کد استفاده نکردم
امیدورام که برات مفید بوده باشه |
_________________ به امید روزی که کلمه ای کاش را نگوئیم ....
وبلاگ تیم توسعه سورنا
www.gamedev.ir
ادیتور سورنا
http://sourena.gamedev.ir/
ادیتور سیمرغ
http://simorgh.SourenaGames.com
بازی دوازده رخ - 12 رخ (سیاوش)
www.SourenaGames.com
شرکت نرم افزاری سورنا پردازش
WWW.SOURENACO.IR
|
|