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

التعامل مع الديركت بلاي في الVB.NET

مغلق
بدأه DreamNet في 2 يوليو 2005 · 5 رد · 721 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#2

عفوا قد يفضل بعض الاخوة قراءة الدرس هنا :

فقط ملاحظة يجب تنزيل DirectX 9 SDK لتطبيق الدرس

التعامل مع الديركت بلاي في الVB.NET

الدرس الأول: معرفة موفر خدمات الاتصالات المثبتة على الجهاز

ننشئ مشروع جديد من النوع Windows Application

l11.JPG

ثم نضيف مرجع الديركت بلاي للمشروع المنشئ

l12.JPG

نضيف ليست بوكس وزر على الفورم

l13.JPG

الآن نقوم بكتابة الأكواد ونبدأ بجلب فضاء الأسماء الخاص بالديركت بلاي

 Imports Microsoft.DirectX.DirectPlay

ننشئ متغير من النوع Peer يقوم بالمهمة أي استخراج البروتوكولات المعتمدة أو المعلومات الخاصة

بموفر خدمات الاتصال المثبتة على الجهاز

 Private m_Peer As Peer = Nothing

وفي كود الزر نكتب الكود التالي :

l14.JPG

بكل بساطة هنا أخذنا المعلومات الخاصة بالبروتوكلات المعنمدة من المتغير الخاص بالديركت بلاي والذي يقوم بانشاء اتصال من النوع peer to peer الند للند اذا صحت الترجمة لكي يعطينا المعلومات الكاملة ونضعها داخل متغير من النوع Array لكي نملء اللست بعدها بمحتواه

المحتوى هو عبارة عن معلومات عن موفر خدمة الاتصال المثبتة على الجهاز

Lesson1.zip

#3

الدرس الثاني :

بعدما رأينا في الدرس الأول كيفية استخراج موفرات الاتصال المثبتة أو المتاحة على الجهاز نأتي اليوم إلى استعمال هذه البروتوكولات لانشاء خادم يستقبل اتصالات

قبل الشروع في التطبيق مباشرة أردت أن أذكر ان فضاء الأسماء DirectPlay يوفر لنا الكائن Address

الذي يضم أنواع البروتوكولات وموفرات خدمة الاتصال الممكنة او المعروفة منها

SerialProvider

ServiceProviderBlueTooth

ServiceProviderIpx

ServiceProviderModem

ServiceProviderSerial

ServiceProviderTcpIp

الآن نريد معرفة ماإذا يتوفر لدينا خدمة الاتصال عن طريق الBlue Tooth

نبدأ بمقارنة موفرات الاتصال المعتمدة على الجهاز بالمتغير Address.ServiceProviderBlueTooth

فإذا كان موجودا فالخدمة متوفرة على الجهاز وإلا فالعكس

بالكود :

m_Peer = New Peer
        Dim SPInfos As ServiceProviderInformation() =m_Peer.GetServiceProviders(True)
        Dim info As ServiceProviderInformation
        For Each info In SPInfos
            If info.Guid.Equals(Address.ServiceProviderBlueTooth) Then
                MsgBox("الخدمة مثبتة على الجهاز")
                Exit Sub
            End If
        Next info
        MsgBox("الخدمة غير مثبتة على الجهاز")

في جميع تطبيقات الديركت بلاي يكون لكل برنامج معلومات أو مواصفات تعطيه طبيعة عمله والموصفات هذه يحدده الكائن

ApplicationDescription

هنا في البداية علينا تحديد على الأقل GuidApplication بعدها يمكن انشاء خادم بالمواصفات المحددة طبعا على منفذ سيستمع عليه وبروتوكول محدد

في مثال بسيط ننشئ خادم يستعمل بروتوكول ال TcpIp

سنستعمل عدة متغيرات

Private m_AppGuid As New Guid("5e4ab2ee-6a50-4614-807e-c632807b5eb1")
Private m_Peer As Peer = Nothing
 Private m_LocalAddress As New Address

وطبعا متغيرا من النوع ApplicationDescription وليكن AppDesc

بما اننا قلنا اننا سنستعمل ال TcpIp يكون :

m_LocalAddress.ServiceProvider = Address.ServiceProviderTcpIp

نرفق للمتغير AppDesc قيمة الGUID الخاص بالتطبيق والمعرف سلفا m_AppGuid

AppDesc.GuidApplication = m_AppGuid

نعرف قيمة المنفذ المستعمل للعنوان المحلي

m_LocalAddress.AddComponent("port", 2055)

وأخيرا نشغل الخادم

m_Peer.Host(AppDesc, m_LocalAddress)

في المرة القادمة سنرى كيف نتصل بالخادم المنشئ

#5

اريد من الاخوة الذين لا يملكون directX 9 SDK

محاولة اضافة المرجع الخاص بالديركت بلاي من الملف المرفق وابلاغي بالنتيجة

يعني هل يكفي فقط الملفات لاضافة المرجع بدون تثبيت الSDK

ref.zip

#6

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

جزاك الله الف خير

من زمان وان ابحث عن هذا الموضوع

انا جربت اشغل البرنامج وما اشتغل معايا

وانا الان قاعد احمل الديركت 9

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

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