الشبكة العربية لمطوري الألعاب

خبير  السيد فتحى السيد مشاركة 71

بتاريخ 22 يونيو 2011 04:28 م، قطب أسامة السلمان حاجبيه بشدة وهو يقول:

اخي السيد هل من الممكن أن تريني نموذج من إحدى ألعابك لأرى إمكانيات Visual Basic

تفضل اخى
http://www.agdn-online.com/communities.aspx?view=posts&threadid=899

خبير مشرف أسامة السلمان مشاركة 72

في 03/جمادى الثانية/1432 07:27 م، عقد السيد فتحى السيد حاجبيه بتفكير وقال:

اما الإجراء  MINE فهو افتراضى فى التطبيقات التى لا تعتمد على الويندوزSub Main() End Sub اما جملة Dim test As myGame = New myGame فهى اعلان عن انشاء نسخة من الفئة التى انشأنها

ممكن تفصل هادي الجملة أكثر؟

أسامة السلمان
مطور ألعاب ومهندس برمجيات.
للتواصل: https://twitter.com/TheDorgam
بما أن الله على كل شيء قدير ؛ إذا ، ليس هناك شيء يدعى "المستحيل".

خبير مشرف أسامة السلمان مشاركة 73

نجح الأمر على XP
😄

أسامة السلمان
مطور ألعاب ومهندس برمجيات.
للتواصل: https://twitter.com/TheDorgam
بما أن الله على كل شيء قدير ؛ إذا ، ليس هناك شيء يدعى "المستحيل".

خبير  السيد فتحى السيد مشاركة 74

وفي 22 يونيو 2011 11:12 م، ظهر شبح ابتسامة على وجه أسامة السلمان وهو يقول:

ممكن تفصل هادي الجملة أكثر؟

نحن انشأنا فئة واسمينها  myGame ولكى نستخدمها يجب ان نعلن عن انشاء نسخة منها

خبير  السيد فتحى السيد مشاركة 75

أما في 22 يونيو 2011 11:16 م، فقد تنهد أسامة السلمان بارتياح وهو يرد:

نجح الأمر على XP
😄
جيد

خبير مشرف أسامة السلمان مشاركة 76

في 03/جمادى الثانية/1432 08:27 م، غمغم السيد فتحى السيد باستغراب قائلاً:

الأن سوف نضيف صندوق
 
انشئ فئة جديده ولتكن mbox



Imports Framework 
Imports Framework.Irrlicht 


Public Class mBox 
 Inherits Framework.Entity 
 Private m_node As SceneNode=Nothing 
        Public Sub New (ByVal mgame AsGame) 
                MyBase.New(mgame) 
                Dim texture As Texture=Game.VideoDriver.GetTexture("box.jpg") 
                 m_node = mgame.IrrlichtDevice.SceneManager.AddCubeSceneNode(19,Nothing,-1) 
                m_node.SetMaterialFlag(MaterialFlag.Lighting,False) 
                m_node.SetMaterialTexture(0, texture) 
                m_node.Position = New Vector3D(10,-10,70) 
        End Sub  
End Class
 
وهذه صورة الصندوق ضعها فى مجلد Debug هذا المجلد هو الذى سوف نتعامل معه دائماً




ونستدعى الصندوق من الإجراء new فى الفئة mygame هكذا

   Entities.Add(New mBox(Me))


 
ماقمنا بعمله هو فقط انشاء مكعب داخل اللعبة ولو لاحظتم أن عند الانشاء في الإجراء New توجب علينا ادراج متغير من النوع Game لكي يتم اضافتها داخل اطار اللعبة المنشئة طبعا

ولكى نرى الصندوق يجب اضافة كاميرة الى اللعبة والكميرات فى هنا 3 انواع
1- كاميرة متحركة
2-  كاميرة ثابتة
3- كاميرة مثل كاميرة برنامج المايا (انا لا اعرفها)
نحن سوف نضيف الكميره المتحركة

فى الإجراء new فى الفئة mygame  اكتب

SceneManager.AddCameraSceneNodeFPS(Nothing,300,300,False)  
 هيا جرب وتحرك بالكاميره بالأسهم

مالكود الذي المفروض عليا في هذه المرحلة فهمه بالتفصيل لأنه هناك الكثير هل يجب أن أفهم كل كلمة فيما سبق الآن أم سأفهمها لاحقا؟

أسامة السلمان
مطور ألعاب ومهندس برمجيات.
للتواصل: https://twitter.com/TheDorgam
بما أن الله على كل شيء قدير ؛ إذا ، ليس هناك شيء يدعى "المستحيل".

خبير مشرف أسامة السلمان مشاركة 77

ظهر لي خطأ أثناء تنفيذ الصندوق




أسامة السلمان
مطور ألعاب ومهندس برمجيات.
للتواصل: https://twitter.com/TheDorgam
بما أن الله على كل شيء قدير ؛ إذا ، ليس هناك شيء يدعى "المستحيل".

خبير  السيد فتحى السيد مشاركة 78

في 22 يونيو 2011 11:48 م، قال أسامة السلمان بهدوء وتؤدة:

مالكود الذي المفروض عليا في هذه المرحلة فهمه بالتفصيل لأنه هناك الكثير هل يجب أن أفهم كل كلمة فيما سبق الآن أم سأفهمها لاحقا؟
لا يجب ان تفهم بتفصيل تابع المهم ان تفهم الفكره

خبير  السيد فتحى السيد مشاركة 79

في 23 يونيو 2011 12:08 ص، عقد أسامة السلمان حاجبيه بتفكير وقال:

ظهر لي خطأ أثناء تنفيذ الصندوق

استبدل السطران اى اجعل كلمة ()run 
قبل نهاية الأجراء دائماً

خبير مشرف أسامة السلمان مشاركة 80


أسامة السلمان
مطور ألعاب ومهندس برمجيات.
للتواصل: https://twitter.com/TheDorgam
بما أن الله على كل شيء قدير ؛ إذا ، ليس هناك شيء يدعى "المستحيل".