© [ تعلم برمجة الالعاب لمحرك الالعاب 31بوائهلا جزء (9) ]
ربط كائن متحرك في كائن
في الكتاب السابق عرفنا طريقة اضافة حركة عادية الى أي كائن
كما في الصورة , للتذكير فقط :
طيب في الدرس هذا راح نشرح ربط كائن متحرك في كائن آخر كيف نعمل هذا ؟ تابع:
اولاً قم بأنشاء مثل هذا المشروع :
الان قم بأنشاء ملفين سكربت الاول باسم(:1/07/8013/6) او أي اسم تريده فقط للتفريق بين الملفين في الشرح , الان شرح سريع
فقط للطريقة التي راح نعمل عليها : اولاً مفهوم كلمة ربط كائن متحرك في كائن , انه يوجد لدينا كا
افقية او عمودية... الخ, و نقوم بربط هذا الكائن المتحرك في كائن آخر و جعلة يدور حول هذا الكائن , الطريقة المستخدمة بإضافة ال
800700 تابع الشرح .
الان قم بفتح ملف البرمجة و قم بكتاب الأكواد كما هو موضح في الصورة:
10116 دعم عختطدع
ا (مسذتمع1عة. مسلك * (0 ,
متحرك في حركة جانبية او
© [ تعلم برمجة الالعاب لمحرك الالعاب 31بوائهلا جزء (9) ]
الان تلاحظ في السطر 6 اننا قمنا بإضافة ال 80520300 و هي التي تتحكم بربط الاشياء و تحولها و ما الى ذألك ,
السرعة داخل القوسين , تجنبنا ال من و ال , 1020/38 المهم في السطر 17 هنا قمنا كتابة ال 680570300 و هذه
المرة استدعينا ال 1001688 معنا ان هذا الكائن سيقوم با النظر الى نقطة معينة او شيء معين يتم تحديده , في السطر
6معنا متغير اسمة 012/62 هذا ال +6/إ018راح نضيفه الى ال 100186 و لكي نقوم بسحب هذا الكائن الذي نريد ان
تلاحظ اننا قمنا بسحب ملف الاسكربت الى الكائن 012763 و قمنا بسحب الى©6800 الى داخل +6 ج01 بالضبط في
+8/ا00ا.2050200»و الان مع تشغيل البرنامج راح تلاحظ ان الكائن +0126 يدور حول الكائن المربوط 628006 في البرنامج .
هنا بالنسبة للمتغير راح نتكلم علية اكثر.
نحاول نجعل هذا الكائن ينظر الى مؤشر الماوس , هنا نفس الشيء راح نستخدم متغير , 128050:00.100/86 لكن السؤال هنا كيف
راح توصل الى مؤشر الماوس؟
نرجع الى شروحات سابقة لطريقة الادخال بالنسبة لمفاتيح الكيبورد استخدمت متغير ادخال 8م10 علشان نوصل الى مؤشر الماوس
اولاً من 06م 10< 56111085 ©0130(6< 8018 في الصورة اسفل راح تلاحظ انني حددت على موقع الماوس بالنسبة للمحورين ,لا و
عجلة الماوس ان صحث العبارة , هنا بما ان الماوس ضمن الادخالات في اليونتي , راح نحدد موقع الماوس في المتغير
+8 /001ا.20510300»بشكل مباشر باستخدام متغير الادخال. نم10 :
© [ تعلم برمجة الالعاب لمحرك الالعاب 1173لا جزء (9) ]
بشكل مباشر في البونتي اكتب السطر10:
: صمت 3م62 تامس اص 1]
هنا انا حددت موقع الماوس ووصلت له عبر متغير الادخال 1م10 و 1/100560051000 تعني موقع الماوس في البرنامج, اينما
كان موقع الماوس في البرنامج راح يظل ينظر الية الكائن.
بالنسبة للتحكم بموقع الماوس على احد المحاور يعني مثلاً انا اريد هذا اكان ينظر الى موقع الماوس على محور # ... تابع
في نفس الملف اكتب السطر 11
للمتغير 1205101107.610160009165 هو الي راح يخلي هذا الكائن يتحرك على محور معين وعشان نوصل الى المحاور الثلاثة
2 راح _نستخدم 1601033 هو الي راح يوصلنا الى المحاور الثلاثة مثل ما استخدمناه في 118051818 و 101818 هنا عند
فتج القوسين راح يطلب منك تحدد الثلاثة المحاور و انت راح تكتب المتغير 11805101107.61/163/09165 وراح تحدد نوع امحور
كما هو موضح .
الان جرب تكتب هذا الكود و شغل البرنامج و راح تلاحظ ان الكائن ينظر الى المؤشر الى محور # فقط كيف راح تعرف هذا ... من
هيم البرنامج راح تلاحظ ان_قيمة المحور * هي الي تتغير فقط...
© [ تعلم برمجة الالعاب لمحرك الالعاب 11:731لالا جزء (7) ]
شرح مفاهيم في 661815
التعامل مع الماوس'"10156/]"
في الشرح السابقة تطرقنا الى التحكم بالماوس و كيف نوصل الية و عرفنا اشياء كثيرة , هنا راح نزيد نتعمق بالتحكم بالماوس و راح
نعمل اشياء تساعدنا لفهم كيف نتعامل مع الماوس .
نرجع الى صورة السابقة :
هنا راح نتعامل مع موقع الماوس بالنسبة للمحورين و كيف راح يعملوا معنا...
هنا معنا وقع الماوس بالنسبة لمحور # و الي هو (6( 1/00058) نفس الشيء على محور, (7ا 1/0158) هنا السؤال كيف نوصل
الية في البرمجة ؟ ... تابع
لاحظ في الصورة انني استخدمت 6618715 هنا هو يطلب مننا تحديد اسم مفتاح الادخال . من نفس القائمة السابقة راح تلاحظ
العديد من المفاتيح الغير مكتوبة على شكل متغيرات لكن هي تستخدم عن طريق كتابة اسمها , هنا كتبت اسم موقع الماوس بالنسبة
للمحورين /,# كما هو موضح في الصورة , لكن هنا ما راح يكون لة عمل في البرنامج بهذه الطريقة...
طيب الان عشان نوضح اكثر طريقة عمل الماوس على احد المواقع او على الموقعين في نفس الوقت , راح نجعل مكعب يدور حول
© [ تعلم برمجة الالعاب لمحرك الالعاب 731و11لالا جزء (7) ]
هنا في السطر 6,7 عرفنا متغيرين راح يعطيانا سرعة على محوري 6,7 و راح نربط السرعة في حركة الماوس و راح يخلق لنا
حركة على المحورين ادا حرك الماوس بشكل متواصل .
في السطر 11,12 هنا كتبنا متغير من نوع 1021 اي ان حركة الماوس على المحورين راح يكون لها قيمة معينة راح تزيد وراح
تنقص في البرمجة بدون ان تراها الى ان الملف راح يظل يسحبها , هنا انا قمت بضرب المتغير الذان يحملان السرعة في موقعي
الماوس, الان عشان نعمل حدث معين راح نجعل المكعب يدور حول نفسة باستخدام متغير 11805)0107.001816 هنا محور لا
راح نوضعه على محور )ل( و محور 6( على محور ل كما هو موضح في السطر. 13
في +:6/:ج01 راح تلاحظ ان المتغيران ظهرا , هنا راح نقدر تحكم بحركة المكعب على المحورين, مثلاً ادا حولت قيمة المحور )(
الى صفر هنا ما راح يتحرك ابداً, قبل كل شيء شغل البرنامج و حرك الماوس و راح تلاحظ ان المكعب يدور حول نفسة مع اتجاه
© [ تعلم برمجة الالعاب لمحرك الالعاب 731ر11لالا جزء (7) ]
ييقى شيء واحد انا قلت سابقاً ان البرنامج يقوم بحساب حركة الماوس بشكل رقمي داخل البرمجة بدون ان تراها , هنا عشان تتأكد
من ان_البرنامج فعلاً يقوم بعمل هذه _العملية هنا راح _نقوم بطبع الاحداث الي تحصل _داخل_البرمجة ..
لاحظ في السطر 15,16 هنا قمنا بكتابة متغير راح يقوم بطبع الاحداث لنا بعكس متغير 00101 هنا في القوسين راح يحدد لنا اسم
المحور و راح يعطينا القيمة الي تظهر عند تحريك الماوس في الكونسول...
لاحظ في الاسفل (الكونسول) هو بيعطيك قيم تحرك الماوس على المحورين.
طيب نحاول نتحكم بموقع الكميرا عن طريق الماوس بالنسبة للمحوربن ل,* ؟
لاحظ الكود التالي :
ا عوم 6011 ه3119
© [ تعلم برمجة الالعاب لمحرك الالعاب 731ر11لالا جزء (7) ]
كدا انت لما راح تشغل البرنامج راع تلاحظ ان الكميرا تتخرك مع الماوس ؛ علشان تختبر هذا الكلام طبع مكعب امام الكميرا علثنان
تلاحظ ان الكميرا تتحرك مع الماوس ؛ الان بنفس الطريقة علشان نقدر نتحكم بالماوس بشكل كامل ؛نحاول نتحكم بعجل الماوس +
نضعها على محور 2 علشان نقدر نقرب الى المكعب و نبعد منة عبر العجلة ... تابع في نفس السطر :
() مغففوه مذه»
ع(" لعمطددمع86 #قدمير") متعقامة عومد
لاحظ المحور الاخير ضعنا فية اسم عجلة الماوس في البونتي ؛ هنا عند تشغيل البرنامج قم بتدوير عجلة الماوس و راح تلاحظ انك
تقرب من المكعب .
بالنسبة لل (140020018 و [6+008/ بشكل عام هم الي راح يعملوا حركة لهذا الكائن بشكل عمودي و افقي ...
© [ تعلم برمجة الالعاب لمحرك الالعاب 11:731ل0لا جزء (7) ]
شرح متغير ١/6061013
بالنسبة لمتغير 7601063 عرفنا ان دا المتغير الي بتتخزن فية المحاور الثلاثة (2,/ا,») و دائماً لما نريد نوصل لهم نستخدم متغير
3 في البرمجة نستخدمة بهذا الشكل 1/601073 06 اي اننا نستدعي 601033/ جديد في الكود و دائماً القيم الي
نطرحها في 801033 ما تتغير الا من البرمجة نفسة ؛ صحيح انت تقدرتعمل متغير من نوع 1081 او 101 و تغير قيمتة ؛ بس هنا
راح تعرف كيف تغير القيم و على اي محور تريدة في 90103 من البرنامج و ليس البرمجة
في 10ا0ا0 راح نعرف متغير جديد من نوع 1601073 و في الكود راح نستدعية بأسمة ...لاحظ الكود التلي :
0 عتمقمن 8 < 768 8
5156660116647 139فتا 2
ععمقمن 8قف
الان ظهرت المحاور الثلاثة ؛ طبعاً دا كلة من المتغير 901083 هنا فيك تكتب اي قيمة بشكل عادي دون وضع اي حروف و راح
ادا كنت تريد هذا المتغير يكون خاص في البرمجة اي انة ما يظهر في البرنامج :راح تغير خصوصية المتغير من عام الى خاص
(0017/818) طبعاً هنا راح تخزن قيم المتغير في المكان نفسة لاحظ :
الاح أنني وضعك قيملة في المتخير نفسة لكن ان,رجعث البرتامج ماراح تحصل المحاور. الثلاثة و في النهاية فيك تمتك الطريقة.
الي تناسبك و تساعدك في العمل بسرعة ©.
© [ تعلم برمجة الالعاب لمحرك الالعاب 731ر11لالا جزء (7) ]
متغير 601013.01518006/ :
المتغير دا (©01518009) هو الي بيحسب لنا بعد كائنين عن بعض او بمعنى آخر هو الي بيحسب المسافة بين اي كائنين او اكثر
طيب انت علشان تستخدم هذا المتغير في البداية راح نعمل متغير 1801510107 علشان نعمل مسافة بين كأئنين ؛ لاحظ الكود التلي :
موتقعاف مار < 768 13
هنا عملت متغير من نوع 1180510007 علشان نخزن فية الكائن الي راح نعمل مسافة معة ؛ في السطر ٠١ لاحظ انني عرفت
متغير من نوع 1088 علشان يحسب المسافة الي بين الكائنين بصيغة عددية ؛ تلاحظ انني كتبت المتغير 01086 و حددت ان المسافة
راح تكون في 0051100 تبعة و الفاصلة الثانية تطلب منك تحدد مسافة الكائن الثاني على اي موقع ؛ افيك تعرف متغير
0 او انك تستخدم الكائن تبعك ؛ هنا راح استخدم الكائن تبعي و بشكل مباشر راح احدد موقعة في 0051101 الي هو
(1780810000.00511100) كدا راح يحسب المسافة بينهم ؛ هنا اعمل طبع علشان تعرف كم المسافة بينهم ؛ نرجع الى البرنامج راح
تحصل المتغير تبعنا موجود ؛ الان قم بسحب الكائن المراد الية و شغل البرنامج و راح يتم حساب المسافة ...