الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

دروس تعلم الDirectx9الدرس الأول

مغلق
بدأه محمد مأمون في 30 يونيو 2005 · 17 رد · 1,187 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم لاحظت أنه تقريبا لا توجد دروس لمكتبة الDirectx9 باللغة العربية و لقد قمت منذ فترة بتعلم أساسيته و رغم أننى لست قوى فى إستخدام الDirect3D أظن ان دروسى ستكون مفيدة و سنبدأ الاّن.

أولا ماذا نحتاج لنبرمج الDirectx9:-

1-نحتاج إال إنزال الDirectx9 SDK الإصدار الأخير

2-ال.net framework 1.1

إن شاء الله سأستخدم فى هذا الدرس بيئة برمحة Visual Studio.net 2003 و أرجو أن تكون على علم جيد بكيفية إستخدامها.

لنبدأ

1-إفتح الVisual studio.net ثم قم بعمل Console application طبعا للvb.net

2-قم بإدراج الRefrences الاّتية للمشروع

1-Microsoft.DirectX.dll

2-Microsoft.DirectX3D.dll

3-System.dll

4-System.Drawing.dll

5-System.windows.forms.dll

3-بعد ذلك قم بالعودة إالى المشروع و أضف Class و أسمه مثلا CDirectXDevice

4-قى داخل Class الCDirectXDevice

5-سنقوم الاّن بإضافة الRefrences التى قمنا بإضافتها الاّن إلى المشروع عن طريق جملة IMPORTS و هى تضاف قبل ال Class

Imports Microsoft.DirectX
Imports Microsoft.DirectX.Direct3D
Imports Microsoft.DirectX.DXHelp
Imports System
Imports System.Drawing

هذه الملفات هى ملفات الDirectx و الDirectx3D اما الDXHelp فهولإضافة أنواع الDirectx مثل الVector3

أما الSystem و ال System.Drawing فهم من أجل الألوان

6-سنقوم الاّن بعمل Declrations للDirectX بإضافة الكود التالى

    Private m_Device As Device

كان هذا الDecleration هو لإنشاء الDevice التى نتعامل بها مع كارت الشاشة من خلال الDirectX9

7-الأن قم بإضافة ال Sub new كالاّتى

Imports System
Imports System.Windows.Forms


Module Module1

    Dim DD As DXDevice
    Dim frm As New Form

    Sub Main()
        frm.Show()
        DD = New DXDevice(frm.Handle)
        While frm.Created = True
            DD.Render()
            Application.DoEvents()
        End While
    End Sub

End Module

قمنا بالكود السلبق بإعداد النافذة و الكلاس ثم عرضهم فى loop عند إنشاء النافذة .

بذلك نكون قد إنتهينا من الدرس الأول و لن أرفع ملف المشروع إلا إذا لاحظت أن الكثيرين قد تعثر عليهم إتباع الخطوات و السلام عليكم و رحمة الله و براكته

#2

السلام عليكم ورحمة الله وبركاته

استاذي محمد مامون اشكر لك مجهودك وتعبك في هذا الدرس الرائع .. وشرف لي ان اكون اول المشاركين كتلميذ ينهل من علمكم الذي اسال الله ان يبارك فيك وان يجزينا واياك الجنه

وعندي سؤال هل الDirectx9 SDK موجود من ضمن بيئة الدوت نت او احتاج اني احملها من الويب .. واذا كان فيه وصله مباشره .. دلنا عليها

وانا وجدت هذا الرابط فما ادري اذا كان هو الذي تقصده

http://www.microsoft.com/downloads/details...&displaylang=en

تم تعديل هذه المشاركة بواسطة koao في 1 يوليو 2005 في 05:38

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

#5

درس جميل وانا بانتظار القادم ان شاء الله

:rolleyes:

#7
محمد مأمون كتب:
بسم الله الرحمن الرحيم لاحظت أنه تقريبا لا توجد دروس لمكتبة الDirectx9 باللغة العربية و لقد قمت منذ فترة بتعلم أساسيته و رغم أننى لست قوى فى إستخدام الDirect3D أظن ان دروسى ستكون مفيدة و سنبدأ الاّن.

أولا ماذا نحتاج لنبرمج الDirectx9:-

1-نحتاج إال إنزال الDirectx9 SDK الإصدار الأخير

2-ال.net framework 1.1

إن شاء الله سأستخدم فى هذا الدرس بيئة برمحة Visual Studio.net 2003 و أرجو أن تكون على علم جيد بكيفية إستخدامها.

لنبدأ

1-إفتح الVisual studio.net ثم قم بعمل Console application طبعا للvb.net

2-قم بإدراج الRefrences  الاّتية للمشروع

1-Microsoft.DirectX.dll

2-Microsoft.DirectX3D.dll

3-System.dll

4-System.Drawing.dll

5-System.windows.forms.dll

3-بعد ذلك قم بالعودة إالى المشروع و أضف Class و أسمه مثلا CDirectXDevice

4-قى داخل Class الCDirectXDevice

5-سنقوم الاّن بإضافة الRefrences التى قمنا بإضافتها الاّن إلى المشروع عن طريق جملة IMPORTS و هى تضاف قبل ال Class

Imports Microsoft.DirectX
Imports Microsoft.DirectX.Direct3D
Imports Microsoft.DirectX.DXHelp
Imports System
Imports System.Drawing

هذه الملفات هى ملفات الDirectx و الDirectx3D اما الDXHelp فهولإضافة أنواع الDirectx مثل الVector3

أما الSystem و ال System.Drawing فهم من أجل الألوان

6-سنقوم الاّن بعمل Declrations للDirectX بإضافة الكود التالى

    Private m_Device As Device

كان هذا الDecleration هو لإنشاء الDevice التى نتعامل بها مع كارت الشاشة من خلال الDirectX9

7-الأن قم بإضافة ال Sub new كالاّتى

    Sub New(ByVal hWnd As IntPtr)
        Dim pp As New PresentParameters
        pp.SwapEffect = SwapEffect.Discard
        pp.Windowed = True

        m_Device = New Device(0, DeviceType.Hardware, hWnd, CreateFlags.HardwareVertexProcessing, pp)
    End Sub

قمنا الاّن بالإعداد للشاشة بحيث تعمل على السواقة الإفتراضية ثم إنشاء الDevice

8-قم بإضافة الكود التلى بحيث نقوم بعمل الRender و سأشرحه فى وقت لاحق لأنه صعب جدا

    Sub Render()
        m_Device.Clear(ClearFlags.Target, Color.White, 1.0F, 0)
        m_Device.BeginScene()
        m_Device.EndScene()
        m_Device.Present()
    End Sub


9-قم بإضافة الكود التلى للModule

[code]
Imports System
Imports System.Windows.Forms
Module Module1

    Dim DD As CDirectXDevice
    Dim frm As New Form

    Sub Main()
        frm.Show()
        DD = New CDirectXDevice(frm.Handle)
        While frm.Created = True
            DD.Render()
            Application.DoEvents()
        End While
    End Sub

End Module

قمنا بالكود السلبق بإعداد النافذة و الكلاس ثم عرضهم فى loop عند إنشاء النافذة .

بذلك نكون قد إنتهينا من الدرس الأول و لن أرفع ملف المشروع إلا إذا لاحظت أن الكثيرين قد تعثر عليهم إتباع الخطوات و السلام عليكم و رحمة الله و براكته

#8

كان الموضوع ناقص و لا أعرف كيف فقدت منه بعد الأشياء فقمت بتعديله

#9

مشكور يا أخ محمد, و إن شاء الله تستمر و لا تنقطع عنا

و نحن في إنتظار الدرس الجديد

#10

السلام عليكم

جهد رائع ونرجو الاستمرار

ولي طلب وهو ان تذكروا لي جوانب الاستفادة من الدايركت اكس

يعني ممكن نستفيد منه في ايه؟؟؟؟؟؟

هل الالعاب على الشبكة فقط أم جوانب أخرى؟

#11

مشكووووووووور اخي فتحت لنا مجال جديد لنتعلمه

من تواضع لله رفعه

#12

اخي والله اني كنت ادوووووووووور هذه الدروس ولو بالأنقليزيه وتعب وترجمها بس والله الحمد اتيت انت بدرووووووووووووووووووووووسك وإن شاء الله اني اكون اول متابع لك وسوف ترى تطبيقاتي لأن DX SDK عندي مجهزها من قبل والسلام وارجو ان تضع الدرس القادم بسرعه

#13

اقول اخي نبي نوصل إلى برمجة ألعااب ثريدي بس اول شي لازم نمر بالتودي ..... والبتسلسل وشكراً

#14

اخي

لقد نفذت كل ماهو مكتوب ويعطيني خطأ

Dim DD As CDirectXDevice

ان نوع هذا المتغير خطأ ولأعرف ليش؟

#15

أخى العزيز SNDAN إن نوع CDirectXDevice ما هو إلا الClass التى أنشأناها و ليس نوع تأكد أنك قمت بتفيذ الخطوة الثالثة

3--بعد ذلك قم بالعودة إالى المشروع و أضف Class و أسمه مثلا CDirectXDevice

#16

ملحوظة :- إن شاء الله سأستكمل سلسلة الدروس بعد إسبوع و سأرفع الملف الخاص بالدرس الأول

#17

اكيد انا عملت الكلاس واعرف انه الكلاس بس موراضي يحط تحته خط .........

ونشاء الله تكتب الدرس التالي لا تتأخر

بس اسبووووووووع واجد أخي بس اهم شي يكون طويل ويستحق ننتضر اسبوع عليه :rolleyes: وإن شاء الله نتقدم في هذه الدروس ونحطم أصحاب السي

___________________________________

تم تعديل هذه المشاركة بواسطة Sndan في 7 يوليو 2005 في 00:09

#18

اخي لقد نجحت في كتابت البرناج ولقد ارفثته لكن لاأعلم مالذي حدث لكن انت سوف ترفه في ردك التالي وشكراً

لأني الآن مفرمت الكمبيوتر وسوف اركب الدوت نت

ورفقه لكن انا انتظرك ولو ترسلي أيميلك لكي تكون هناك صله بيني وبينك ونقشات سريعه يعني اريد ان تكون مباشره

وإن شاء الله كل سؤال وجوابه أكتبه في الموضوع

هذا الموضوع مغلق.

مواضيع مشابهة