كيفيه صناعه محرك العاب مع امثله

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

كيفيه صناعه محرك العاب مع امثله

مُساهمة  vb6 الى vb20 في الجمعة نوفمبر 11, 2016 8:17 pm

كيفيه صناعه محرك العاب مع امثله Surprised Surprised Sad 
2shared.com/file/gofU_I6U/mithal.html
......................................
محركات الالعاب عباره عن مكتبات dll..والبرامج مثل اليونتي ويو دي كي هي برامج مخدومه بواسطه هذه المكتبات dll لتخدم هذه المكتبات وتنقل البرمجه من الاكواد الى البرمجه الملموسه والمرئيه
......................................
لذالك  سنتعلم في هذا الدرس صناعه محرك العاب اي  ملف dll...
 في نفس المشروع   برنامج  يعتمد على هذا المحرك يصنع لنا البيئه من جبال وارضيه ومياه الى اخره  .............................................

الخطوه 1................. Razz Razz Razz

اضف مشروع جديد في فيجوال6  بسك من نوع   tandard.exe ...تلقائيا سيضيف لك فورم1 ....ثم اضف كلاس
يجب ان يكون لدينا  في مشروعنا الفارغ 1 فورم  و 1 كلاس

الخطوه 2.................  Idea Idea Question What a Face  
قم بتسميه الكلاس بهذا  الاسم  win_function
يمكن ان تسميه بالعربيه .دوال الوندوز..هذا يصبح من بعد كائن داخل ملف dll

الغرض من  هذا الكلاس هو تخزين دوال   داخله تساعدنا على تطوير برامجنا..لم ندخل بعد في دوال 3دي او دايراكت اكس

الان لدينا كلاس فارغ اسمه win_function
انسخ هذه الداله وضعها داخل الكلاس

'''''''''اعلانات عن متغيرات خاصه بجعل الادوات قادره على تغيير حجمها
''''''''ضع هذه الاعلانات في منطقه الاعلانات العامه
Private Declare Function GetWindowLong& Lib "user32" _
 Alias "GetWindowLongA" (ByVal hWnd As Long, _
 ByVal nIndex As Long)
Private Declare Function SetWindowLong& Lib "user32" _
 Alias "SetWindowLongA" (ByVal hWnd As Long, _
 ByVal nIndex As Long, ByVal dwNewLong As Long)
Private Declare Function SetWindowPos& Lib "user32" _
        (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, _
         ByVal x As Long, ByVal y As Long, ByVal cx As Long, _
         ByVal cy As Long, ByVal wFLAGS As Long)
'''''''''جعل الادوات قادره على تغيير حجمها داله..
""""ضع هذه الداله او السيب في الكلاس تحت الاعلانات السابقه سينشا لك فيجوال بيسك خط فاصل بينهما تلقائيا
Public Sub ReSizeStyle(ctl As Control, NewStyle As Boolean)
Const GWL_STYLE As Long = -16
Const WS_THICKFRAME As Long = &H40000
Const wFLAGS = &H20 Or &H2 Or &H1 Or &H4
Dim BeStyle&, AfStyle
 BeStyle = GetWindowLong(ctl.hWnd, GWL_STYLE)
 AfStyle = BeStyle Or WS_THICKFRAME
If NewStyle Then
SetWindowLong ctl.hWnd, GWL_STYLE, AfStyle
Else
SetWindowLong ctl.hWnd, GWL_STYLE, BeStyle
End If
SetWindowPos ctl.hWnd, hWnd, 0, 0, 0, 0, wFLAGS
End Sub


الخطوه 3........... Suspect I love you
لتحويل الكلاس السابق الى كائن داخل ملف  dll..علينا فتح مشروع جديد من نوع activex.dll هذا النوع من المشاريع خاص بانشاء ملفات dll
تجربه ملف الذي صنعناه ويحتوي على داله واحده تجعل الادوات قادره على تغيير حجمها زمن التشغيل
ابدء مشروع جديد في  فيجوال بيسك لكن هذه المره من نوع activex.dll
ينشا لك فيجوال  بيسك تلقائيا  1كلاس
الاكواد التي وضعناها سابقا(في مشروع من نوع.. standard.exe)  انسخها في هذا الكلاس(هذا الكلاس يوجد في مشروع لصناعه activex.dll)
قم بتسميه الكلاس  ب  win_function
من قوائم فيجوال بيسك اضغط على file...make win_function.dll
انتضر قليلا ثم مبروك عليك اول محرك العاب لك يحتوي على كائن واحد وداله واحده


الخطوه 4........... cyclops clown
العوده الى مشروعنا الاول من نوع.standard.exe..والذي يحتوي على واحد كلاس وواحد فورم
اضف اداه ...الى الفورم ستكون شاشه الفضاء الثلاثي الابعاد
اذا كان محركنا قد انتهى وصدرناه الى ملف.. نقوم بتحميله في فيجوال بيسك ثم نستفيد من دواله
اذا كنا نصنع المحرك والبرنامج في نفس الوقت فان محركنا عباره عن  ملفات كلاس وهذه الطريقه افضل تتيح لنا تحسينه والتعديل فيه متى نشاء 
.....
في الفورم في منطقه الاعلانات العامه قم بااستدعاء  الكائن
Public win As New win_function
في حدث فورم قم بالاستعمال الداله ..يوجد خيارين قمنا بجعل المستخدم يدبر راسو فيهم
Picture1 وهو اسم الاداه المراد جعلها قابله لتغيير حجمها
True or false...يعني تشغل العمليه او تعطلها

Private Sub Form_Load()
Set win = New win_function
win.ReSizeStyle Picture1, True
End Sub

هنا انتهى الدرس وبنفس الطريقه السابقه تم انشاء كلاسات اخرى  يحمل دوال  ديراكت اكس8  لتفتح لنا شاشه  فضاء ثلاثي الابعاد
المثال  في الرابط في الاعلى
 ومثال المحرك bounce bounce bounce bounce Basketball

vb6 الى vb20
عضو
عضو

عدد المساهمات : 10
نقاط : 24
تاريخ التسجيل : 11/10/2016
الموقع : ahl-dz.almountadayat.com/f28-montada

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى