نمایش نتایج 1 تا 10 از 10

نام تاپیک: ساخت بازیهای دو بعدی و سه بعدی با ویژوال بیسیک

  1. #1
    کاربر دائمی آواتار DoctorJay
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    پارس - شیراز
    پست
    348

    Thumbs up ساخت بازیهای دو بعدی و سه بعدی با ویژوال بیسیک

    از عزیزانی که در این زمینه مطالعه ای داشتن یا حتی در این زمینه تجربه دارن

    خواهش دارم با معرفی منابع و هر چیزی که کمک به یادگیری این موضوع میکنه

    من و علاقمندان دیگرو یاری کنند

    من چند وقت پیشا این مطالب(پایین) رو که خوندم مشتاق شدم تو این زمینه اطلاعاتمو

    بیشتر کنم. شما هم بخونید و موارد مطرح شده رو گسترده تر به بحث بکشید

    منظورم اینکه اگه راجب هر بخش از این مطالب اطلاعاتی داشتین بذارین

    تا در آخر هر کس این پست رو خوند واقعا یه چیزی آموخته باشه.

    اول از همه واسه خودمه ....

    این مطالب رو از توی یه وبلاگ گرفتم, که خودش دقیقا گفته چکار باید کرد, ولی من میخوام با

    بحث راجب این مطالب کاملا متوجهشون شم .

    در اینجا بخوانید :

    __________________________________________________ _______

    برنامه های دایرکت ایکس در دو حالت اجرا میشند:

    1- حالت تمام صفحه (Full Screen Mode)

    2- حالت پنجره ای (Windowed Mode)



    این برنامه در حالت تمام صفحه است :

    ویژوال بیسیک 6.0 رو اجرا کنید و یه پروژه جدید از نوع استاندارد ایجاد کنید.

    برای این که بتونیم از توابع اشیای دایرکت ایکس استفاده کنیم باید کتابخانه (Type Library) اون رو به پروژه مون اضافه کنیم.

    برای اینکار بر روی منوی Project کلیک کنید و گزینه References رو انتخاب کنید. تو دیالوگ باز شده و در لیست موجود دنبال DirectX 7.0 for Visual Basic Library Type بگردید و کنار اون یه تیک بذارید و بعدش روی OK کلیک کنید.



    حالا برای اینکه ما بتونیم از دایرکت ایکس استفاده کنیم باید یک شیئ از نوع DirectX7 تعریف کنیم. پس در قسمت General فرمتون یک شیئ از این نوع تعریف کنید. اینجوری:



    Dim DX As New DirectX7

    اشیاء دیگری که تعریف خواهیم کرد اینها هستند:



    1- یک شیئ از نوع DirectDraw7 :



    این همون شیئی که به ما کمک میکنه که سطوح رو ایجاد کنیم:

    Dim DD As DirectDraw7

    2- 2 شیئ از نوع DirectDrawSurface7:

    این اشیاء سطوحی هستند که ما شکل ها، متون و ... رو بر روی اونها نگارش می کنیم(تخته سیاه J)



    Dim Primary As DirectDrawSurface7 ‘سطح اصلی

    Dim Backbuffer As DirectDrawSurface7 ‘ پشت صحنه!



    یه متغیر عمومی از نوع Boolean هم تعریف می کنیم. این متغیر مشخص می کنه که تا چه زمانی برنامه باید اجرا بشه:

    Dim EndPro As Boolean




    حالا ادامه میدیم.

    طریقه کار به این صورته که اول ما شیئ DD رو مقداردهی میکنیم. یعنی در حقیقت به DirectX7 میگیم که شیئ DD رو برای ما ایجاد کنه. پس در ادامه (همون Form_Load) بنویسید:

    Set DD = ("DX.DirectDrawCreate")


    حالا باید به شیئ DD که از نوع دایرکت دراو 7 هست بگیم که ما میخوایم از کدوم فرم برنامه مون استفاده کنیم. مثلا من فرض کردم که فرم اصلی برنامه ام Form1 هست. (البته شما میتونید از شیئ Me نیز استفاده کنید). همچنین باید به کامپیوتر بفهمونیم که میخوایم برنامه مون تمام صفحه باشه یا نه. برای اینکار از متد SetCooperativeLevel شیئ DD استفاده می کنیم:



    DD.SetCooperativeLevel Form1.hWnd, DDSCL_FULLSCREEN Or DDSCL_EXCLUSIVE




    حالا باید رزولوشن صفحه نمایش رو تغییر بدیم. فرض کنیم که سیستم شما از حالت 480×640 پشتیبانی می کنه. برای اینکار از متد SetDisplayMode شیئ DD استفاده می کنیم:

    DD.SetDisplayMode 640, 480, 16, 0, DDSDM_DEFAULT


    آرگومان اول عرض، آرگومان دوم Height و آرگومان سوم عمق بیت حالت رو نشون میده. (اون یکی ها هم ref و Mode هستند.)



    حالا میخوایم سطوحمون رو مقداردهی کنیم. کدهای زیر رو به پروژه خود بیفزایید:



    Dim ddsd As DDSURFACEDESC2

    ddsd.lFlags = DDSD_BACKBUFFERCOUNT Or DDSD_CAPS

    ddsd.lBackBufferCount = 1

    ddsd.ddscaps.lCaps = DDSCAPS_COMPLEX Or DDSCAPS_FLIP Or DDSCAPS_PRIMARYSURFACE Or DDSCAPS_VIDEOMEMORY




    این کدا برای اینکه بتونید یه سطح رو ایجاد کنید باید یه شیئ از نوع DDSURFACEDESC2 رو بهش وابسته کنیم.

    حالا سطح اصلی (Primary) خودمون رو ایجاد کنیم. این سطح همون سطحی یه که جلوی چشم کاربر هستش و کاربر اونو میبینه. (اینکه چه جوری کامپایلر میفهمه که این همون سطح هست برمیگرده به خصوصیات شیئ ddsd از نوع DDSURFACEDESC که بالا مقداردهی کردیم و این شیئ مشخص میکنه که Primary تخته سیاه باشه). با استفاده از متد CreateSurface شیئ DD این سطح رو ایجاد می کنیم. آرگومان این تابع همون شیئ بالاییه) داریم:

    Set Primary = DD.CreateSurface(ddsd)


    حالا باید سطح BackBuffer رو مقداردهی کنیم. ولی شاید بپرسید ما که Primary رو داریم دیگه این BackBuffer برای چیه؟ باید بگم برای اینکه از پرپر زدن صفحه نمایش جلوگیری کنیم، ما بجای اینکه همه چیز رو مستقیما روی سطح Primary رسم کنیم، میایم و اول روی سطح (BackBuffer) که متصل به Primary هستش رسم می کنیم و صحنه آماده رو منتقل می کنیم به Primary (در حقیقت میتونیم بگیم که BackBuffer چرک نویس ما هست).

    پس حالا ما سطح BackBuffer رو متصل به سطح Primary ایجاد می کنیم. داریم:

    Dim ddscaps As DDSCAPS2

    ddscaps.lCaps = DDSCAPS_BACKBUFFER Or DDSCAPS_VIDEOMEMORY

    Set Backbuffer = Primary.GetAttachedSurface(ddscaps)



    حالا تقریبا همه چی آماده ست.

    در ضمن فکر میکنم همه با نوع داده RECT آشنایی داشته باشند . در دایرکت ایکس برای اینکه بخوایم یه قسمتی از صفحه رو مشخص کنیم از این نوع داده استفاده می کنیم. یه متغیر هم از این نوع تعریف می کنیم تا کل صفحه رو مشخص کنیم. (برای رنگ آمیزی کل سطح و ...) توجه داشته باشید که این نوع داده در کتابخانه DirectX موجود هست و شما نیازی ندارید که مثل برنامه های دیگه این نوع رو تعریف کنید :

    Dim rec As RECT

    rec.Bottom = 480

    rec.Left = 0

    rec.Right = 640

    rec.Top = 0


    اینو به یاد داشته باشید که ما در برنامه هایی که با دارکت ایکس می نویسیم. کل عملیات رو در قالب یه حلقه (معمولا حلقه Do) انجام میدیم. به این صورت که پشت سر هم به طور مداوم صحنه های خودمون رو بر روی سطح ترسیم می کنیم و به Primary منتقل می کنیم. پس در پروژه خویشتن ( و در همان Form_Load، یعنی ادامه کدهای قبلی) بنویسید:

    Do While EndPro=False

    Backbuffer.BltColorFill rec, 0 ‘پاک کردن صفحه

    Backbuffer.SetForeColor RGB(256, 0, 0) ‘ تنظیم رنگ ترسیم

    Backbuffer.DrawText 300, 250, “Hello World”, False ‘درج متن

    DoEvents ‘توضیح در پایین

    Primary.Flip Nothing, DDFLIP_WAIT ‘Jانتقال از چرک نویس به پاک نویس

    Loop

    حالا ببینیم که چیکار کردیم. تا زمانی که مقدار متغیر EndPro نادرست است این عملیات رو انجام میدیم:



    • برای پاک کردن صفحه هر بار صفحه رو با رنگ سیاه پر میکنیم. متد BltColorFill سطح رو به روش بلیت پر میکنه. یعنی این که در حافظه مقادیر هر پیکسل رو برابر رنگی که بهش میدیم قرار میده(در اینجا این رنگ رو برابر 0 که همون سیاه هست قرار دادیم).

    • با استفاده از متد SetForeColor رنگ تمام ترسیماتی که انجام میدیم رو عوض می کنیم.(به اصطلاح ForeColor سطح رو تغییر میدیم.)

    • با استفاده از متد DrawText متن مورد نظرمون رو بر روی صفحه حک می کنیم. دو آرگومان اول مختصات x و y محل درج متن رو مشخص می کنند.

    • مـــــــهـــــــم: وقتی ما پشت سر هم و بدون وقفه یه کاری رو انجام میدیم، برنامه دیگه چیز دیگه ای رو پردازش نمی کنه. بنابراین ما با این عبارت(DoEvents) به کامپایلر میگیم در هر بار انجام دستورات حلقه، دستورات دیگه ای مانند فشرده شدن کلید، کلیک ماوس و ... رو هم پردازش کنیم. اگه خیلی کنجکاو هستید، بعد از این که پروژه تون رو Save کردید یه بار برنامه رو بدون DoEvents اجرا کنید

    • حالا صحنه ما آماده است پس اونو میذاریمش جلوی چشم کاربر. این کار با استفاده از متد Flip سطح Primary انجام میشه. (درمورد فلیپ بعدا اگه عمری باقی باشه توضیح میدم.)



    هنگامی که متغیر EndPro مقدار Trueبگیره(هنگامی که کاربر قصد خروج دارد)، حلقه شکسته میشه و ما باید برنامه رو به پایان ببریم. پس حافظه ای که به سطوح و اشیاء دیگر اختصاص داده ایم رو آزاد میکنیم:

    Set DD = Nothing

    Set Primary = Nothing

    Set Backbuffer = Nothing

    Set DX = Nothing

    End


    در اینجا Form_Load به پایان میرسه. حالا فقط یه کار مونده. اون هم اینه کا وقتی کاربر کلید Esc رو فشار میده باید برنامه به پایان برسه، یعنی مقدار متغیر EndPro برابر True بشه. پس این خطوط کد رو به پروژه تون اضافه کنید:

    Private Sub Form_KeyPress(KeyAscii As Integer)

    If KeyAscii = 27 Then EndPro=True

    End Sub


    حالا برنامه رو اجرا کنید و از اولین برنامه ای که با دایرکت ایکس نوشتین لذت ببرین (البته اگه این اولین برنامه ایه که با دایرکت ایکس می نویسین.)

    __________________________________________________ _______

    دوستان اگه نمونه برنامه هم دارین بذارید ممنون میشم
    آخرین ویرایش به وسیله DoctorJay : جمعه 07 دی 1386 در 17:14 عصر دلیل: اصلاح متن

  2. #2
    واقعا می خوای با vb6 , Game Programmin' کار کنی ....


    Good Luck ...

  3. #3
    کاربر دائمی آواتار DoctorJay
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    پارس - شیراز
    پست
    348
    من اطلاعات زیادی در این رابطه ندارم ,

    منظور شما اینکه کار سختیههه !؟ اگه اینجوریه پس من دنبالش نرم !!؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    استان فارس
    پست
    1,054
    این کار با وی بی ممکنه . اما در سطوح حرفه ای هرگز این کار رو نمی کنن . به دلایل زیادی . و معمولا از وی سی پلاس پلاس استفاده میشه . در هر صورت اما برای یادگیری هیچ اشکالی نداره .

  5. #5
    کاربر دائمی آواتار DoctorJay
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    پارس - شیراز
    پست
    348
    نقل قول نوشته شده توسط mehrzad007 مشاهده تاپیک
    این کار با وی بی ممکنه . اما در سطوح حرفه ای هرگز این کار رو نمی کنن . به دلایل زیادی . و معمولا از وی سی پلاس پلاس استفاده میشه . در هر صورت اما برای یادگیری هیچ اشکالی نداره .
    ممنون بخاطره راهنماییتون

  6. #6
    در مراحل بالاتر به اصطلاح عامیانه vb کم میاره

  7. #7
    سلام.!
    یک نمونه 3d داشتم.!
    واست اینجا آپلودش کردم.!

  8. #8

    نقل قول: ساخت بازیهای دو بعدی و سه بعدی با ویژوال بیسیک

    نقل قول نوشته شده توسط DoctorJay مشاهده تاپیک
    از عزیزانی که در این زمینه مطالعه ای داشتن یا حتی در این زمینه تجربه دارن

    خواهش دارم با معرفی منابع و هر چیزی که کمک به یادگیری این موضوع میکنه

    من و علاقمندان دیگرو یاری کنند

    من چند وقت پیشا این مطالب(پایین) رو که خوندم مشتاق شدم تو این زمینه اطلاعاتمو

    بیشتر کنم. شما هم بخونید و موارد مطرح شده رو گسترده تر به بحث بکشید

    منظورم اینکه اگه راجب هر بخش از این مطالب اطلاعاتی داشتین بذارین

    تا در آخر هر کس این پست رو خوند واقعا یه چیزی آموخته باشه.

    اول از همه واسه خودمه ....

    این مطالب رو از توی یه وبلاگ گرفتم, که خودش دقیقا گفته چکار باید کرد, ولی من میخوام با

    بحث راجب این مطالب کاملا متوجهشون شم .

    در اینجا بخوانید :

    __________________________________________________ _______

    برنامه های دایرکت ایکس در دو حالت اجرا میشند:

    1- حالت تمام صفحه (Full Screen Mode)

    2- حالت پنجره ای (Windowed Mode)



    این برنامه در حالت تمام صفحه است :

    ویژوال بیسیک 6.0 رو اجرا کنید و یه پروژه جدید از نوع استاندارد ایجاد کنید.

    برای این که بتونیم از توابع اشیای دایرکت ایکس استفاده کنیم باید کتابخانه (Type Library) اون رو به پروژه مون اضافه کنیم.

    برای اینکار بر روی منوی Project کلیک کنید و گزینه References رو انتخاب کنید. تو دیالوگ باز شده و در لیست موجود دنبال DirectX 7.0 for Visual Basic Library Type بگردید و کنار اون یه تیک بذارید و بعدش روی OK کلیک کنید.



    حالا برای اینکه ما بتونیم از دایرکت ایکس استفاده کنیم باید یک شیئ از نوع DirectX7 تعریف کنیم. پس در قسمت General فرمتون یک شیئ از این نوع تعریف کنید. اینجوری:



    Dim DX As New DirectX7

    اشیاء دیگری که تعریف خواهیم کرد اینها هستند:



    1- یک شیئ از نوع DirectDraw7 :



    این همون شیئی که به ما کمک میکنه که سطوح رو ایجاد کنیم:

    Dim DD As DirectDraw7

    2- 2 شیئ از نوع DirectDrawSurface7:

    این اشیاء سطوحی هستند که ما شکل ها، متون و ... رو بر روی اونها نگارش می کنیم(تخته سیاه J)



    Dim Primary As DirectDrawSurface7 ‘سطح اصلی

    Dim Backbuffer As DirectDrawSurface7 ‘ پشت صحنه!



    یه متغیر عمومی از نوع Boolean هم تعریف می کنیم. این متغیر مشخص می کنه که تا چه زمانی برنامه باید اجرا بشه:

    Dim EndPro As Boolean




    حالا ادامه میدیم.

    طریقه کار به این صورته که اول ما شیئ DD رو مقداردهی میکنیم. یعنی در حقیقت به DirectX7 میگیم که شیئ DD رو برای ما ایجاد کنه. پس در ادامه (همون Form_Load) بنویسید:

    Set DD = ("DX.DirectDrawCreate")


    حالا باید به شیئ DD که از نوع دایرکت دراو 7 هست بگیم که ما میخوایم از کدوم فرم برنامه مون استفاده کنیم. مثلا من فرض کردم که فرم اصلی برنامه ام Form1 هست. (البته شما میتونید از شیئ Me نیز استفاده کنید). همچنین باید به کامپیوتر بفهمونیم که میخوایم برنامه مون تمام صفحه باشه یا نه. برای اینکار از متد SetCooperativeLevel شیئ DD استفاده می کنیم:



    DD.SetCooperativeLevel Form1.hWnd, DDSCL_FULLSCREEN Or DDSCL_EXCLUSIVE




    حالا باید رزولوشن صفحه نمایش رو تغییر بدیم. فرض کنیم که سیستم شما از حالت 480×640 پشتیبانی می کنه. برای اینکار از متد SetDisplayMode شیئ DD استفاده می کنیم:

    DD.SetDisplayMode 640, 480, 16, 0, DDSDM_DEFAULT


    آرگومان اول عرض، آرگومان دوم Height و آرگومان سوم عمق بیت حالت رو نشون میده. (اون یکی ها هم ref و Mode هستند.)



    حالا میخوایم سطوحمون رو مقداردهی کنیم. کدهای زیر رو به پروژه خود بیفزایید:



    Dim ddsd As DDSURFACEDESC2

    ddsd.lFlags = DDSD_BACKBUFFERCOUNT Or DDSD_CAPS

    ddsd.lBackBufferCount = 1

    ddsd.ddscaps.lCaps = DDSCAPS_COMPLEX Or DDSCAPS_FLIP Or DDSCAPS_PRIMARYSURFACE Or DDSCAPS_VIDEOMEMORY




    این کدا برای اینکه بتونید یه سطح رو ایجاد کنید باید یه شیئ از نوع DDSURFACEDESC2 رو بهش وابسته کنیم.

    حالا سطح اصلی (Primary) خودمون رو ایجاد کنیم. این سطح همون سطحی یه که جلوی چشم کاربر هستش و کاربر اونو میبینه. (اینکه چه جوری کامپایلر میفهمه که این همون سطح هست برمیگرده به خصوصیات شیئ ddsd از نوع DDSURFACEDESC که بالا مقداردهی کردیم و این شیئ مشخص میکنه که Primary تخته سیاه باشه). با استفاده از متد CreateSurface شیئ DD این سطح رو ایجاد می کنیم. آرگومان این تابع همون شیئ بالاییه) داریم:

    Set Primary = DD.CreateSurface(ddsd)


    حالا باید سطح BackBuffer رو مقداردهی کنیم. ولی شاید بپرسید ما که Primary رو داریم دیگه این BackBuffer برای چیه؟ باید بگم برای اینکه از پرپر زدن صفحه نمایش جلوگیری کنیم، ما بجای اینکه همه چیز رو مستقیما روی سطح Primary رسم کنیم، میایم و اول روی سطح (BackBuffer) که متصل به Primary هستش رسم می کنیم و صحنه آماده رو منتقل می کنیم به Primary (در حقیقت میتونیم بگیم که BackBuffer چرک نویس ما هست).

    پس حالا ما سطح BackBuffer رو متصل به سطح Primary ایجاد می کنیم. داریم:

    Dim ddscaps As DDSCAPS2

    ddscaps.lCaps = DDSCAPS_BACKBUFFER Or DDSCAPS_VIDEOMEMORY

    Set Backbuffer = Primary.GetAttachedSurface(ddscaps)



    حالا تقریبا همه چی آماده ست.

    در ضمن فکر میکنم همه با نوع داده RECT آشنایی داشته باشند . در دایرکت ایکس برای اینکه بخوایم یه قسمتی از صفحه رو مشخص کنیم از این نوع داده استفاده می کنیم. یه متغیر هم از این نوع تعریف می کنیم تا کل صفحه رو مشخص کنیم. (برای رنگ آمیزی کل سطح و ...) توجه داشته باشید که این نوع داده در کتابخانه DirectX موجود هست و شما نیازی ندارید که مثل برنامه های دیگه این نوع رو تعریف کنید :

    Dim rec As RECT

    rec.Bottom = 480

    rec.Left = 0

    rec.Right = 640

    rec.Top = 0


    اینو به یاد داشته باشید که ما در برنامه هایی که با دارکت ایکس می نویسیم. کل عملیات رو در قالب یه حلقه (معمولا حلقه Do) انجام میدیم. به این صورت که پشت سر هم به طور مداوم صحنه های خودمون رو بر روی سطح ترسیم می کنیم و به Primary منتقل می کنیم. پس در پروژه خویشتن ( و در همان Form_Load، یعنی ادامه کدهای قبلی) بنویسید:

    Do While EndPro=False

    Backbuffer.BltColorFill rec, 0 ‘پاک کردن صفحه

    Backbuffer.SetForeColor RGB(256, 0, 0) ‘ تنظیم رنگ ترسیم

    Backbuffer.DrawText 300, 250, “Hello World”, False ‘درج متن

    DoEvents ‘توضیح در پایین

    Primary.Flip Nothing, DDFLIP_WAIT ‘Jانتقال از چرک نویس به پاک نویس

    Loop

    حالا ببینیم که چیکار کردیم. تا زمانی که مقدار متغیر EndPro نادرست است این عملیات رو انجام میدیم:



    • برای پاک کردن صفحه هر بار صفحه رو با رنگ سیاه پر میکنیم. متد BltColorFill سطح رو به روش بلیت پر میکنه. یعنی این که در حافظه مقادیر هر پیکسل رو برابر رنگی که بهش میدیم قرار میده(در اینجا این رنگ رو برابر 0 که همون سیاه هست قرار دادیم).

    • با استفاده از متد SetForeColor رنگ تمام ترسیماتی که انجام میدیم رو عوض می کنیم.(به اصطلاح ForeColor سطح رو تغییر میدیم.)

    • با استفاده از متد DrawText متن مورد نظرمون رو بر روی صفحه حک می کنیم. دو آرگومان اول مختصات x و y محل درج متن رو مشخص می کنند.

    • مـــــــهـــــــم: وقتی ما پشت سر هم و بدون وقفه یه کاری رو انجام میدیم، برنامه دیگه چیز دیگه ای رو پردازش نمی کنه. بنابراین ما با این عبارت(DoEvents) به کامپایلر میگیم در هر بار انجام دستورات حلقه، دستورات دیگه ای مانند فشرده شدن کلید، کلیک ماوس و ... رو هم پردازش کنیم. اگه خیلی کنجکاو هستید، بعد از این که پروژه تون رو Save کردید یه بار برنامه رو بدون DoEvents اجرا کنید

    • حالا صحنه ما آماده است پس اونو میذاریمش جلوی چشم کاربر. این کار با استفاده از متد Flip سطح Primary انجام میشه. (درمورد فلیپ بعدا اگه عمری باقی باشه توضیح میدم.)



    هنگامی که متغیر EndPro مقدار Trueبگیره(هنگامی که کاربر قصد خروج دارد)، حلقه شکسته میشه و ما باید برنامه رو به پایان ببریم. پس حافظه ای که به سطوح و اشیاء دیگر اختصاص داده ایم رو آزاد میکنیم:

    Set DD = Nothing

    Set Primary = Nothing

    Set Backbuffer = Nothing

    Set DX = Nothing

    End


    در اینجا Form_Load به پایان میرسه. حالا فقط یه کار مونده. اون هم اینه کا وقتی کاربر کلید Esc رو فشار میده باید برنامه به پایان برسه، یعنی مقدار متغیر EndPro برابر True بشه. پس این خطوط کد رو به پروژه تون اضافه کنید:

    Private Sub Form_KeyPress(KeyAscii As Integer)

    If KeyAscii = 27 Then EndPro=True

    End Sub


    حالا برنامه رو اجرا کنید و از اولین برنامه ای که با دایرکت ایکس نوشتین لذت ببرین (البته اگه این اولین برنامه ایه که با دایرکت ایکس می نویسین.)

    __________________________________________________ _______

    دوستان اگه نمونه برنامه هم دارین بذارید ممنون میشم
    چرا با گذشت 1387 سال شمسى از تاريخ ما هنوز از همديگر تقلب مى كنيم؟
    من اين آموزش رو موبه مو از 10 تا وبلاگ ديگه گرفتم.
    جالب اينجاست كه اصلا كسى يه "و" بهش اضافه نميكنه.
    من اين آموزش رو ديدم.
    يه نمونه بازي هم ساختم كه وقتى ميري توش يه نوشته خوش آمديد داره كه وقتى به در و ديوار ميخوره برميگرده.
    مثل يه توپ
    تازه رنگشم عوض ميشه و مي تونيد با كليد Esc از بازى خارج بشيد.
    فایل های ضمیمه فایل های ضمیمه

  9. #9
    کاربر دائمی آواتار REZADG
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    هر جایی که انسان میتونه باشه
    پست
    472

    نقل قول: ساخت بازیهای دو بعدی و سه بعدی با ویژوال بیسیک

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

  10. #10
    کاربر دائمی آواتار .:KeihanCPU:.
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    همین اطراف
    پست
    1,169

    نقل قول: ساخت بازیهای دو بعدی و سه بعدی با ویژوال بیسیک

    لطفا سورس مثال رو ضمیمه کنید.
    فایل های ضمیمهbazi.zip‏(3.7 کیلوبایت, 15 دیدار)
    لطفا سورس رو ضمیمه کنید

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •