تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
حصريا- من صنعي- محرك العاب Game Engine 2D لعمل الالعاب
#1
كاتب الموضوع : VbDotNeter


بسم الله الرحمن الرحيم

هذا محرك العاب ثنائي الابعاد قضيت فيه شهر لكي اصنعه
محرك الالعاب يستخدم في عمل الالعاب بسهولة حيث تقوم شركات الالعاب بصنع
محرك الالعاب الخاص بهم لتطبيقة علي العاب كثير مختلفة تنتجها الشركة بدل من عمل كل لعبة علي حدي مرة اخري
في محرك الالعاب تجد كل ما يخص اللعبة مثل التصادم و الذكاء الصناعي و التحريك و الطبيعة و المؤثرات الصوتيه الخ

المحرك مصنوع مئة بالمئة بالGUI

في هذا المحرك يمكنك:
  1. اضافة شئ Object
  2. تحديد الشكل
  3. تحديد اللون او وضع صورة عليه
  4. تحريكه
  5. تحديد مكانة
  6. تحديد حدوده عند التحرك
  7. تحديد حدوده للاشياء (Object) الاخري
  8. فحص التصادم
  9. واشياء اخري ستجعل برمجة العاب 2D
شرح المحرك
المحرك عبارة عن Class اسمه GameEngine

لاضافة Object

كود :
[color=#000000][COLOR=#0000bb]Objects[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700]([/color][color=#dd0000]"Character"[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], ([/color][color=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]Height [/color][color=#007700]/ [/color][color=#0000bb]2[/color][color=#007700]), [/color][color=#0000bb]Objects[/color][color=#007700].[/color][color=#0000bb]Shapes[/color][color=#007700].[/color][color=#0000bb]Rectangle[/color][color=#007700], [/color][color=#0000bb]50[/color][color=#007700], [/color][color=#0000bb]50[/color][color=#007700], [/color][color=#0000bb]Brushes[/color][color=#007700].[/color][color=#0000bb]Red[/color][color=#007700], [/color][color=#0000bb]False[/color][color=#007700], [/color][color=#0000bb]30[/color][color=#007700],[/color][color=#dd0000]""[/color][COLOR=#007700])  
[/COLOR][color=#0000bb][/color][/COLOR]

البرامتر بالترتيب
الاسم-البعد اكس-البعد واي-الشكل-العرض-الطول-لو الشئ-الشئ قابل للاصدام-حدود الشئ ليتفاعل-اخياري مكان صورة اذا وجدت

حدود الشئ ليتفاعل هي خاصية تمكنك من التفاعل مع الشئ اذا كان شئ يقرب من حدوده حدوده مثلا وهذه الخاصية مختلفه عن خاصية الاستضام عندما تستضم الاشاياء الاخري به كليا

لتحريك الشئ
Objects.Move(Array, Objects.PosSize.X(Array), Objects.PosSize.Y(Array) - 5, Objects.Direction.Decreasing, True)
البرامتر
رقم الشئ-البعد اكس-البعد واي-اتجاه التحرك يزداد ام ينقص(خاصة بفحص الاستضام)-فحص التصادم ام لا-عندما يكون الشئ المصتدم غير قابل للاصدام ويعدي عليه هل يعمل اعادة رسم كامل ام لا

الوظائف الموجوده في Object
  • Add-للاضافة
  • Move-لتحريك الشيئ
  • GetArray-لنحصل علي رقم الشئ عن طريق اسمه
  • Clear-لمسح خطوات الشئ
  • SetLimit-لتحديد حدود الشئ عند التحرك
  • Remove-لحذف الشئ
  • Draw-لرسم اشكال مختلفه عن طريق كلاس الجرافك وهذه ليست اشياء
  • ReDraw-لاعادة رسم شئ
  • PersistPaint-لاعادة رسم كل اشياء و الحفاظ عليها(يوضع في حدث الرسم لتجنب ضياع الاشياء)
  • في الختام ادعوكم لتطوير المحرك
الوظائف الموجودة في كلاس Collusion
هذا الكلاس خاص باصتدام الاشياء
ويحتوي علي:
  • ColDirection-لمعرفة اتجاه التصلدم
  • ColItm-لمعرفة الشئ الذي تم الاصتدام به
  • ColState-لمعرفة حالة الاستدام True او False
  • IsObjectInBorder-لمعرفة هل الشئ الذي يتحرك في حدود شئ اخر(التي حدتناها عند اضافة الشئ)
  • ObjectOfBorder-لمعرفة الشئ الذي يتواجد الشئ الذي يتحرك في حدودة
  • ملاحظة:يتم عمل فحص لتصادم تلقائيا عند تحرك الشئ تلقائيا الا اذا حددت غير ذلك عند امر تحرك الشئ

ملاحظة: ضف هذا الحدث في حدث الرسم حتي لا تضيع الاشياء مثلا عند تكبير وتصغير الفورم

كود :
[color=#000000][COLOR=#0000bb]    [/color][color=#007700]Private [/color][color=#0000bb]Sub Form1_Paint[/color][color=#007700]([/color][color=#0000bb]ByVal sender [/color][color=#007700]As [/color][color=#0000bb]Object[/color][color=#007700], [/color][color=#0000bb]ByVal e [/color][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]Forms[/color][color=#007700].[/color][color=#0000bb]PaintEventArgs[/color][color=#007700]) [/color][color=#0000bb]Handles Me[/color][color=#007700].[/color][COLOR=#0000bb]Paint
        Objects[/COLOR][color=#007700].[/color][color=#0000bb]PersistPaint[/color][COLOR=#007700]()
        [/COLOR][color=#0000bb]Dim [/color][color=#007700]array As [/color][color=#0000bb]Integer [/color][color=#007700]= [/color][color=#0000bb]GetArray[/color][color=#007700]([/color][color=#dd0000]"Character"[/color][COLOR=#007700])

        [/COLOR][color=#0000bb]Objects[/color][color=#007700].[/color][color=#0000bb]Redraw[/color][COLOR=#007700](array)

    [/COLOR][COLOR=#0000bb]End Sub  
[/COLOR][/COLOR]


ماذا يحتاج المحرك من تطوير
يحتاج المحرك خاصية تحريك الشئ حولين مركزه اعتقد ديه خاصية مهمة

المثال في المرفقات


والسلام عليكم


الملفات المرفقة
.rar   GameColu.rar (الحجم : 81.58 ك ب / التحميلات : 117)
}}}
تم الشكر بواسطة: Mohamed371 , Mohamed371



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم