Contacts
صفحه اصلی پورتال | صفحه اصلی تالار | ثبت نام | اعضاء | گروه ها | جستجو | پرسش و پاسخ | فروشگاه الکترونیکی | خرید پستی بازی های کامپیوتری





صفحه اول انجمنها -> اصول اولیه در طراحی بازیهای کامپیوتری -> ++C به علاوه SDL میشه یه بازی خوب
 

ارسال يك موضوع جديد   پاسخ به يك موضوع ديدن موضوع قبلي :: ديدن موضوع بعدي
برو به صفحه قبلي  1, 2, 3, 4, 5, 6, 7  بعدي

نويسنده
پيغام
eta
مدیر سایت
مدیر سایت


تاريخ عضويت: 2 شنبه 27 تير 1384
تعداد ارسالها: 2153
محل سكونت: شاهين شهر


5 شنبه 25 مرداد 1386 - 00:20
پاسخ بصورت نقل قول
والا من و رفقام این اواخر یکی دو تا مشکل بعضی جاها تو لینوکس دیده بودیم که البته یکیش هم مربوط به SDL_GFX بود که خوشبختانه تو آخرین ورژن SDL اون مشکلات حل شده بودن. فعلا لیست باگمون خالیه!!!

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

_________________
تالار اصول ->صفحه ها، مقالات و تاپیکهای مفید



اين نامه توسط eta در 5 شنبه 25 مرداد 1386 - 17:40 ويرايش شده است.
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
_Akhtar
پیر بازی سازی
پیر بازی سازی


تاريخ عضويت: جمعه 10 فروردين 1386
تعداد ارسالها: 1212


5 شنبه 25 مرداد 1386 - 12:52
پاسخ بصورت نقل قول
@ eta
شما که تجربه کار کردن باهاش داری ، سرعتش چطوره ؟ (حدوداً چند فریم)
پلتفرمهای دیگه رو هم ساپورت می کنه ؟ (فکر کنم اینو قبلاً پرسیدم ولی یادم رفته)

_________________
تو هم مثل من تازه واردی؟
از اینجـــا شروع کن! <<<


www.Saeed-Shahriyari.ir
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

نويسنده
پيغام
eta
مدیر سایت
مدیر سایت


تاريخ عضويت: 2 شنبه 27 تير 1384
تعداد ارسالها: 2153
محل سكونت: شاهين شهر


5 شنبه 25 مرداد 1386 - 17:56
پاسخ بصورت نقل قول
برای سعید :
اینجا جواب نصفه دوم سوالات هست.
هر سیتم عاملی که تو بگی و بشناسی این SDL ساپورت میکنه. البته اگه دقیقش رو بخوای یکی از دوستان زحمتش رو کشیده. به این پست نگاه کن.
http://forum.futureworld.ir/viewtopic.php?p=6233#6233

اما در مورد نصفه اول آمار و عدد ندارم. ولی تجربه دست و پا شکسته ام میگه که SDL اصلا نیست!!! کاری به کسی نداره. یعنی کار خاصی نمیکنه که بخواد سرعت رو پایین بیاره. بیشتر یه جور واسط بین شما و سخت افزار. البته در موارد ارتباط با امکانات گرافیک سه بعدی از opengl استفاده میکنه.(بهتره بگم opengl رو میندازه جلو)
کارش دست به دست کردنه. از بازی به سخت افزار و برعکس Idea
اصلا نگران سرعت نباش! Laughing

_________________
تالار اصول ->صفحه ها، مقالات و تاپیکهای مفید

ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
eta
مدیر سایت
مدیر سایت


تاريخ عضويت: 2 شنبه 27 تير 1384
تعداد ارسالها: 2153
محل سكونت: شاهين شهر


5 شنبه 25 مرداد 1386 - 19:48
پاسخ بصورت نقل قول
قسمت سوم : مدیریت رویدادها

رویدادهایی که SDL برای بازیتون تولید میکنه کلا اینا هستند :

كد:

SDL_Event — General event structure
SDL_ActiveEvent — Application visibility event structure
SDL_KeyboardEvent — Keyboard event structure
SDL_MouseMotionEvent — Mouse motion event structure
SDL_MouseButtonEvent — Mouse button event structure
SDL_JoyAxisEvent — Joystick axis motion event structure
SDL_JoyButtonEvent — Joystick button event structure
SDL_JoyHatEvent — Joystick hat position change event structure
SDL_JoyBallEvent — Joystick trackball motion event structure
SDL_ResizeEvent — Window resize event structure
SDL_ExposeEvent — Quit requested event
SDL_SysWMEvent — Platform-dependent window manager event.
SDL_UserEvent — A user-defined event type
SDL_QuitEvent — Quit requested event
SDL_keysym — Keysym structure
SDLKey — Keysym definitions.


به جز اولی که یک Union هم هست هر کدوم از این ساختارها(Struct) به یک نوع رویداد مربوط میشن.

1ـ SDL_Event

یک union توی C یک جور ساختاره که کلیه متغیر هایی که از اون نوع ایجاد میشن یک فضای مشترک رو به خودشون اختصاص خواهند داد. این union یک متغیر از نوع کلیه ساختارهای مربوط به رویدادها رو توی خودش داره.

كد:
typedef union{
  Uint8 type;
  SDL_ActiveEvent active;
  SDL_KeyboardEvent key;
  SDL_MouseMotionEvent motion;
  SDL_MouseButtonEvent button;
  SDL_JoyAxisEvent jaxis;
  SDL_JoyBallEvent jball;
  SDL_JoyHatEvent jhat;
  SDL_JoyButtonEvent jbutton;
  SDL_ResizeEvent resize;
  SDL_ExposeEvent expose;
  SDL_QuitEvent quit;
  SDL_UserEvent user;
  SDL_SywWMEvent syswm;
} SDL_Event;


2ـ SDL_ActiveEvent

این رویداد زمانی رخ میده که هر گونه رویداد مربوط به فعال شدن/نشدن پنجره برنامه رخ بده.
ساختارش اینجوریه :
كد:

typedef struct{
  Uint8 type;
  Uint8 gain;
  Uint8 state;
} SDL_ActiveEvent;

فیلد type نوع رویداد رو مشخص میکنه. مقدارش در این اونت برابر ثابت SDL_ACTIVEEVENT هستش.
فیلد gain اگر 0 باشه میگه که پنجره غیر فعال شده. و اگه 1 باشه میگه که پنجره فعال شده.
قیلد state وضعیت فعال شدن رو نشون میده.
اگه State برابر SDL_APPMOUSEFOCUS یعنی موس وارد پنجره شده یا از اون خارج شده.(بسته به مقدار gain)
اگه برابر SDL_APPINPUTFOCUS باشه رویداد مربوط به فعال شدن یک برنامه از طریق صفحه کلیده و اگر برابر SDL_APPACTIVE باشه رویدار مربوط به iconify یا restore شدن پنجره میشه.

توجه : این رویداد در هنگام آغاز برنامه روی نخواهد داد.

3ـ SDL_KeyboardEvent
این ساختار برای دریافت رویدادهای صفحه کلید به کار میره.
و تعریفش اینه :
كد:
typedef struct{
  Uint8 type;
  Uint8 state;
  SDL_keysym keysym;
} SDL_KeyboardEvent;

فیلد type مقدارش همیشه برابر SDL_KEYDOWN یا SDL_KEYUP خواهد بود.
فیلد state مقدارش برابر SDL_PRESSED یا SDL_RELEASED هست.
این دو تا متغیر بیانگر یه مشخصه هستن و به نظر میاد دو تا بودنش برای راحتی کاربر باشه!!
فیلد keysym مشخصات مربوط به یک کلید از صفحه کلید رو توی خودش داره. که البته نوعش یه ساختار دیگه است.

كد:
typedef struct{
  Uint8 scancode;
  SDLKey sym;
  SDLMod mod;
  Uint16 unicode;
} SDL_keysym;

که فیلدهاش به این دردها میخورن

scancode رو بهش کاری نداشته باشید یه مشخصه وابسته با سخت افزاره.
sym اسم دکمه فشرده شده است. مثل SDLK_RETURN برای اینتر
mod نشون دهنده وضعیت مودیفایرها در زمان بروز رویداده منظور همون shift و control و win و caps lock و ... به تفکیک چپ و راسته.
unicode هم که مشخصه!

4ـ SDL_MouseMotionEvent
ساحتارش این شکلیه : و به درد مشخص کردن محل موس توی هر لحظه می خوره.
كد:

typedef struct{
  Uint8 type;
  Uint8 state;
  Uint16state;
  Sint16 xrel, yrel;
} SDL_MouseMotionEvent;


type همواره SDL_MOUSEMOTIONه
state مبگه در این لحظه وضعیت دکمه های موس چه جوریه
x و y و xrel و yrel محل موس و میزان تغییر محل موس رو به شما میدن.

5ـ SDL_MouseButtonEvent
این رویداد که ساختارش رو در زیر می بینید زمانی رخ میده که یک رویداد مرتبط با دکمه های موس اتفاق بیفته.
كد:

typedef struct{
  Uint8 type;
  Uint8 button;
  Uint8 state;
  Uint16 x, y;
} SDL_MouseButtonEvent;

type برابر SDL_MOUSEBUTTONDOWN یا SDL_MOUSEBUTTONUP ه.
button یکی از مقدارهای SDL_BUTTON_LEFT, SDL_BUTTON_MIDDLE, SDL_BUTTON_RIGHT رو به خودش میگیره. البته مقدار اون میتونه از یک تا 255 باشه!! (یا موس رو با 255 تا دکمه تصور کنید!!)
state هم دوباره مثل همون type هستش.
x, y هم که معلوم الحالند! Twisted Evil


برای joy stick به همین توصیف خارجکی قناعت می کنیم.

6ـ SDL_JoyAxisEvent
كد:

Structure Definition
typedef struct{
  Uint8 type;
  Uint8 which;
  Uint8 axis;
  Sint16 value;
} SDL_JoyAxisEvent;
Structure Data

type SDL_JOYAXISMOTION
which Joystick device index
axis Joystick axis index
value Axis value (range: -32768 to 32767)


7ـ SDL_JoyButtonEvent
كد:
Structure Definition
typedef struct{
  Uint8 type;
  Uint8 which;
  Uint8 button;
  Uint8 state;
} SDL_JoyButtonEvent;
Structure Data

type SDL_JOYBUTTONDOWN or SDL_JOYBUTTONUP
which Joystick device index
button Joystick button index
state SDL_PRESSED or SDL_RELEASED


8ـ SDL_JoyHatEvent
كد:

Structure Definition
typedef struct{
  Uint8 type;
  Uint8 which;
  Uint8 hat;
  Uint8 value;
} SDL_JoyHatEvent;
Structure Data

type SDL_JOY
which Joystick device index
hat Joystick hat index
value Hat position


9ـ SDL_JoyBallEvent
كد:

Structure Definition
typedef struct{
  Uint8 type;
  Uint8 which;
  Uint8 ball;
  Sint16 xrel, yrel;
} SDL_JoyBallEvent;
Structure Data

type SDL_JOYBALLMOTION
which Joystick device index
ball Joystick trackball index
xrel, yrel The relative motion in the X/Y direction


10ـ SDL_ResizeEvent
به شما میگه که کی پنجره تون تغییر اندازه داده.
ساختارش اینجوریه :
كد:
typedef struct{
  Uint8 type;
  int w, h;
} SDL_ResizeEvent;


مقدار type همواره SDL_VIDEORESIZE خواهد بود.
و w و h هم طول و عرض پنجره رو مشخص میکنه.

11ـ SDL_ExposeEvent
كد:

typedef struct{
  Uint8 type
} SDL_ExposeEvent;

این رویداد زمانی رخ میده که محتویات پنجره از جای خارج از برنامه تغییر کرده و باید دوباره کشیده بشه.

12ـ SDL_SysWMEvent
كد:

typedef struct {
         Uint8 type;   /* Always SDL_SysWM */
 } SDL_SysWMEvent;

این رویداد مربوط به رویدادهای خارجی میشن که معملا از طرف system window manager اتفاق می افتند.
برای استفاده از این رویداد ها باید اول اونها رو از طریق تابع زیر فعال کنید
كد:
Uint8 SDL_EventState(Uint8 type, int state)


13ـ SDL_UserEvent
كد:

typedef struct{
  Uint8 type;
  int code;
  void *data1;
  void *data2;
} SDL_UserEvent;

این برای رویدادهای شماست هر رویدادی که دوست داشته باشید می تونید با این ساختار تولید کنید.
type باید یه عددی بین دو ثابت SDL_USEREVENT و SDL_NUMEVENTS-1 باشه.
مقدار سایر فیلدها رو خود شما معین می کنید.
بعد از ساختن این رویداد می تونید اون رو به صف رویدادها اضافه کنید تا به همراه سایر رویدادها پردازش بشه.

14ـ SDL_QuitEvent
كد:

typedef struct{
  Uint8 type
} SDL_QuitEvent;

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

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

اما برای حسن ختام بگم که یه برنامه SDL یه صف رویداد داره که هر رویدادی که رخ بده به ته اون صف اضافه میشه. شما میتونید اون رویدادها رو تو بازی تون بپذیرید، مدیریت کنید و از صف خارج کنید و در همین خلال می تونید رویدادهای خودتون رو به این صف اضافه کنید.
بنابراین معمولا توی حلقه اصلی بازی از یک حلقه while برای مدیریت کلیه رویدادهای اتفاق افتاده در چرخش قبلی حلقه استفاده می کنیم.

به کد زیر نگاه کنید. این یه تابعه که کار مدیریت رویدادها رو انجام میده (چه قدر هم خوب مدیریت میکنه.) این تابع رو باید در هر چرخش حلقه اصلی بازیتون صدا بزنید.
كد:

void HandleEvents()
{
    SDL_Event event;
    atexit(SDL_Quit);
    while ( SDL_PollEvent(&event) ) {
        switch (event.type) {
            case SDL_ACTIVEEVENT: {
                if ( event.active.state & SDL_APPACTIVE ) {
                    if ( event.active.gain ) {
                        printf("App activated\n");
                    } else {
                        printf("App iconified\n");
                    }
                }
            }
            break;
                   
            case SDL_MOUSEBUTTONDOWN: {
                Uint8 *keys;

                keys = SDL_GetKeyState(NULL);
                if ( keys[SDLK_ESCAPE] == SDL_PRESSED ) {
                    printf("Bye bye...\n");
                    exit(0);
                }
                printf("Mouse button pressed\n");
            }
            break;

            case SDL_QUIT: {
                printf("Quit requested, quitting.\n");
                exit(0);
            }
            break;
        }
    }
}

_________________
تالار اصول ->صفحه ها، مقالات و تاپیکهای مفید

ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
eta
مدیر سایت
مدیر سایت


تاريخ عضويت: 2 شنبه 27 تير 1384
تعداد ارسالها: 2153
محل سكونت: شاهين شهر


جمعه 26 مرداد 1386 - 10:54
پاسخ بصورت نقل قول
خیلی خوب به علت توجه بسیاری که از خودتون نشون دادید منم علاقه مند تر شدم و این قسمت رو زودتر نوشتم.

روالهای مرتبط با مدیریت رویدادها در SDL اینا هستند.
كد:

SDL_PumpEvents — Pumps the event loop, gathering events from the input devices.
SDL_PeepEvents — Checks the event queue for messages and optionally returns them.
SDL_PollEvent — Polls for currently pending events.
SDL_WaitEvent — Waits indefinitely for the next available event.
SDL_PushEvent — Pushes an event onto the event queue
SDL_SetEventFilter — Sets up a filter to process all events before they are posted to the event queue.
SDL_GetEventFilter — Retrieves a pointer to he event filter
SDL_EventState — This function allows you to set the state of processing certain events.
SDL_GetKeyState — Get a snapshot of the current keyboard state
SDL_GetModState — Get the state of modifier keys.
SDL_SetModState — Set the current key modifier state
SDL_GetKeyName — Get the name of an SDL virtual keysym
SDL_EnableUNICODE — Enable UNICODE translation
SDL_EnableKeyRepeat — Set keyboard repeat rate.
SDL_GetMouseState — Retrieve the current state of the mouse
SDL_GetRelativeMouseState — Retrieve the current state of the mouse
SDL_GetAppState — Get the state of the application
SDL_JoystickEventState — Enable/disable joystick event polling


SDL_PumpEvents کارش به روز کردن صف رویدادهاست. البته روالهای SDL_PollEvent و SDL_WaitEvent خودشون این تابع رو صدا می زنند برای همین در صورت استفاده از اونا نیاز به فراخوانی مستقیم این روال نخواهید داشت.
كد:

void SDL_PumpEvents(void);


SDL_PeepEvents به درد مدیریت گزینشی رویدادها می خوره. بسته به action معین شده که میتونه SDL_ADDEVENT یا SDL_PEEKEVENT یا SDL_GETEVENT باشه رویداد معین شده به صف اضافه میشه، فقط از صف خونده میشه یا اینکه خونده و از صف حارج میشه. (رویداد خونده شده در متغیر events ذخیره میشه.)

كد:

int SDL_PeepEvents(SDL_Event *events, int numevents, SDL_eventaction action, Uint32 mask);


SDL_PollEvent این تابع از همه بیشتر استفاده میشه و به درد خارج کردن یک رویداد از صف و ریختن مقدارش در متغیر event می خوره.
كد:

int SDL_PollEvent(SDL_Event *event);


SDL_WaitEvent منتظر میمونه تا یه رویداد وارد صف بشه. بعد اون رو توی محل پوینتری که بهش داده شده ذخیره میکنه.
كد:

int SDL_WaitEvent(SDL_Event *event);

SDL_PushEvent با این تابع میتونید یه رویداد رو به صف رویدادها اضافه کنید.
كد:

int SDL_PushEvent(SDL_Event *event);


SDL_SetEventFilter برای فیلتر کردن یه سری از رویدادها خوبه.
كد:

void SDL_SetEventFilter(SDL_EventFilter filter);


SDL_GetEventFilter مشخصه دیگه
كد:

SDL_EventFilter SDL_GetEventFilter(void);


SDL_EventState با این فانکشن شما میتونید برخی رویدادها رو از فراید پردازش خارج یا به اون داخل کنید.(اگه state برابر SDL_IGNORE یا SDL_ENABLE باشه) گذشته از این شما می تونید اطلاعات مربوط به وضعیت پردازش انواع رویدادها رو با این تابع دریافت کنید. (stateاگه برابر SDL_QUERY باشه.)
كد:

Uint8 SDL_EventState(Uint8 type, int state);


SDL_GetKeyState این تابع وضعیت فعلی صفحه کلید رو به شما میده. مقدار بازگشتی حاوی یه آرایه از اطلاعات کلیدهاست. طول آرایه توی پوینتری که به عنوان پارامتر داده شده ذخیره میشه.
اگه یه عضو آرایه 0 باشه یعنی دکمه فشرده نشده و اگه 1 باشه یعنی فشرده شده است.
برای مشخص کردن اندیس مورد نظر می تونید از ثوابت نام کلیدها به شکل *_SDL استفاده کنید.
كد:

Uint8 *SDL_GetKeyState(int *numkeys);


SDL_GetModState وضعیت دکمه های مودیفایر رو در یک متغیر بر میگردونه میتونید مقادیر مورد نظرتون رو از طریق and کردن ثوابت نام مودیفایر ها با مقدار بازگشتی استخراج کنید.
كد:

SDLMod SDL_GetModState(void);

typedef enum {
  KMOD_NONE  = 0x0000,
  KMOD_LSHIFT= 0x0001,
  KMOD_RSHIFT= 0x0002,
  KMOD_LCTRL = 0x0040,
  KMOD_RCTRL = 0x0080,
  KMOD_LALT  = 0x0100,
  KMOD_RALT  = 0x0200,
  KMOD_LMETA = 0x0400,
  KMOD_RMETA = 0x0800,
  KMOD_NUM   = 0x1000,
  KMOD_CAPS  = 0x2000,
  KMOD_MODE  = 0x4000,
} SDLMod;


SDL_SetModState خوب اینم مشخصه برعکس بالایی
كد:

void SDL_SetModState(SDLMod modstate);


SDL_GetKeyName اسم کلیدی رو که کدش رو بدید بهتون میده
كد:

char *SDL_GetKeyName(SDLKey key);


SDL_EnableUNICODE اگر میخواید مقادیر unicode دکمه ها رو در رویداد های مربوط به صفحه کلید دریافت کنید ابتدا باید از طریق این تابع این قابلیت رو فعال کنید.
كد:

int SDL_EnableUNICODE(int enable);


SDL_EnableKeyRepeat با قعال کردن این امکان SDL درحین فشرده ماندن یک دکمه با فواصل زمانی معین شده رویداد فشرده شدن کلید رو توی صف قرار میده.
كد:

int SDL_EnableKeyRepeat(int delay, int interval);


SDL_GetMouseState و SDL_GetRelativeMouseState وضعیت دکمه های موس رو با این توابع میتونید دریافت کنید.
كد:

Uint8 SDL_GetMouseState(int *x, int *y);

كد:

نحوه استفاده اش اینجوریه.
SDL_PumpEvents();
if(SDL_GetMouseState(NULL, NULL)&SDL_BUTTON(1))
  printf("Mouse Button 1(left) is pressed.\n");


SDL_GetAppState میگه که موس روی پنجره شماست (اگهSDL_APPMOUSEFOCUS از تابع برگده) یا کیبورد در اختیار پنجره شماست (اگه SDL_APPINPUTFOCUS برگشت داده بشه) یا برنامه شما visible هست یا نه (اگه SDL_APPACTIVE هم تو مقدار برگشتی باشه.)
كد:

Uint8 SDL_GetAppState(void);


SDL_JoystickEventState میتونید با این تابع دریافت رویداد از joy stick رو فعال یا غیر فعال کنید. یا این که وضعیت فعال بودن و نبودن رو دریافت کنید.
كد:

int SDL_JoystickEventState(int state);


اینم یه لیست از توابع مدیریت دسته بازیه :
كد:

SDL_NumJoysticks — Count available joysticks.
SDL_JoystickName — Get joystick name.
SDL_JoystickOpen — Opens a joystick for use.
SDL_JoystickOpened — Determine if a joystick has been opened
SDL_JoystickIndex — Get the index of an SDL_Joystick.
SDL_JoystickNumAxes — Get the number of joystick axes
SDL_JoystickNumBalls — Get the number of joystick trackballs
SDL_JoystickNumHats — Get the number of joystick hats
SDL_JoystickNumButtons — Get the number of joysitck buttons
SDL_JoystickUpdate — Updates the state of all joysticks
SDL_JoystickGetAxis — Get the current state of an axis
SDL_JoystickGetHat — Get the current state of a joystick hat
SDL_JoystickGetButton — Get the current state of a given button on a given joystick
SDL_JoystickGetBall — Get relative trackball motion
SDL_JoystickClose — Closes a previously opened joystick


اگه وقت بکنم و شما هم همینجور علاقه مند باشید به زودی استفاده عینی از این امکانات رو در زبان ++C بهتون نشون خواهم داد.

_________________
تالار اصول ->صفحه ها، مقالات و تاپیکهای مفید

ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
voldemort
مدیر انجمن
مدیر انجمن


تاريخ عضويت: 4 شنبه 24 تير 1383
تعداد ارسالها: 392
محل سكونت: تهران


جمعه 26 مرداد 1386 - 11:13
پاسخ بصورت نقل قول
ممنون از مطلب خوبتون
پیشنهاد می کنم این سری مقالاتو به صورت PDF تو بخش مقالات بذارید.
اگه مثال عملی هم همراهش باشه قطعا مفیدتر خواهد بود.

_________________
First they ignore you;then they laugh at you ;then they fight you ;then you win
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
voldemort
مدیر انجمن
مدیر انجمن


تاريخ عضويت: 4 شنبه 24 تير 1383
تعداد ارسالها: 392
محل سكونت: تهران


جمعه 26 مرداد 1386 - 11:34
پاسخ بصورت نقل قول
اینم برای علاقمندان به دات نت و SDL:
http://cs-sdl.sourceforge.net/index.php/Main_Page

_________________
First they ignore you;then they laugh at you ;then they fight you ;then you win
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
eta
مدیر سایت
مدیر سایت


تاريخ عضويت: 2 شنبه 27 تير 1384
تعداد ارسالها: 2153
محل سكونت: شاهين شهر


جمعه 26 مرداد 1386 - 14:16
پاسخ بصورت نقل قول
مرسی جناب صافدل . اسمت رو یادم رفت!!
والا انگار نه انگار که ما داریم اینجا چیزی مینویسیم.
بگذریم فعلا که وسط کارم. به تهش که رسیدم اگه وقت شد pdf رو هم میسازم.
در مورد مثال عملی هم یه نقشه هایی دارم.

_________________
تالار اصول ->صفحه ها، مقالات و تاپیکهای مفید

ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
eta
مدیر سایت
مدیر سایت


تاريخ عضويت: 2 شنبه 27 تير 1384
تعداد ارسالها: 2153
محل سكونت: شاهين شهر


جمعه 26 مرداد 1386 - 14:18
پاسخ بصورت نقل قول
راستی ممنون از لینک.
قابل توجه آقا سعید که علاقه مند به استفاده از SDL با زبون #C بود.

_________________
تالار اصول ->صفحه ها، مقالات و تاپیکهای مفید

ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
مصطفي سپهريان
پیر بازی سازی
پیر بازی سازی


تاريخ عضويت: جمعه 24 آذر 1385
تعداد ارسالها: 1147
محل سكونت: تو يه فلش مموري دو گيگ


جمعه 26 مرداد 1386 - 18:29
پاسخ بصورت نقل قول
خوب من كه اونور گفتم در مرحله كمپايل ذهنيه Very Happy
راستي ولدرمورت عزيز خيلي ممنون از لينك... Arrow

_________________
«پشتکار»«پشتکار»«پشتکار»
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نمايش نامه هاي ارسال شده قبلي:   
ارسال يك موضوع جديد   پاسخ به يك موضوع    صفحه 2 از 7 تمام ساعات و تاريخها بر حسب 3.5+ ساعت گرينويچ مي باشد
برو به صفحه قبلي  1, 2, 3, 4, 5, 6, 7  بعدي


 
پرش به:  


شما نمي توانيد در اين انجمن نامه ارسال كنيد.
شما نمي توانيد به موضوعات اين انجمن پاسخ دهيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن ويرايش كنيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن حذف كنيد
شما نمي توانيد در نظر سنجي هاي اين انجمن شركت كنيد


unity3d

بازگردانی به فارسی : علی کسایی @ توسعه مجازی کادوس 2004-2011
Powered by phpBB © 2001, 2011 phpBB Group
| Home | عضويت | ليست اعضا | گروه هاي كاربران | جستجو | راهنماي اين انجمن | Log In |