Unconfigured Ad Widget

تقليص

إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

خطوة بخطوة لعمل لعبة ثلاثية الأبعاد بالدركبيسك - (الجزء الثالث) - بقلم : احمد البنا

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • خطوة بخطوة لعمل لعبة ثلاثية الأبعاد بالدركبيسك - (الجزء الثالث) - بقلم : احمد البنا





    الدرس الثالث : تحريك الكميرا



    سنعلمك كيفية تغيير مواضع و دوران الكميرا مستخدما ازرار لوحة المفاتيح .



    Rem Setup sync
    Sync On
    Sync Rate 30


    Rem Create 5 cubes and place randomly
    For x = 1 to 5
    Make object cube x,100
    Position object x,Rnd(2000),0,Rnd(2000)
    Next x

    Rem Main loop
    Do
    Rem Store camera angle
    caY#= Camera angle Y()

    Rem Control input for camera movement
    If Upkey()=1 then Move camera 10
    If Leftkey()=1 then Yrotate Camera Wrapvalue(caY#-5)
    If Rightkey()=1 then Yrotate Camera Wrapvalue(caY#+5)

    Rem Refresh Screen
    Sync
    Loop



    سوف نبدأ درسنا بالحديث عن الحلقة التكراية "For Next" .



    For x = 1 to 5
    Make object cube x,100
    Position object x,Rnd(2000),0,Rnd(2000)
    Next x




    الحلقة التكراية "For Next" تستخدم لتنفيذ امر او مجموعة اوامر ونضع رقم عدد التكرار ، لقد استخدمنا المتغير x لتخزين عدد الأرقام اللتى ستنفذ داخل الحلقة ، دائما داخل الحلقة التكرارية "For Next" نستخدم العبارة to لكى ننفذ رقم المرات اللتى نريد تنفيذها داخل الحلقة ، فى حالتنا نحن حددنا التكرار من الرقم 1 الى الرقم 5 ، وقد وضعنا الأوامر اللتى نريد تنفيذها داخل جسم ال loop او الحلقة التكرارية كما سميناها ، لقد استخدمنا العبارة next والمتغير العددى x لكى نخبر البرنامج ان هذه هى نهاية الحلقة التكرارية وايضا لينقص فى قيمة المتغير x ،، داخل ال loop نحن صنعنا الأوبجكت مكعب ، واعطينا اسم الأوبجكت نفس اسم المتغير المستخدم داخل الحلقة التكرارية ، بعد ذلك استخدمنا الأمر Position Object لموضع الأوبجكت داخل احداثيات مشهدنا ، اول رقم فى الأمر Position Object هو رقم الأوبجكت اللذى سنحدد موضعه ، وقد استعضنا عن هذا الرقم بالمتغير X ، أما الثلاثة ارقام اللتى بعد رقم الأوبجكت وهم الأحداثيات X - Y - Z هم احداثيات الأبجكت ، ومكان الأحداثيات X - Z نحن استخدمنا الأمر RND ،،الأمر RND يستخدم لتوليد رقم عشوائى يبدأ من صفر ويكتب الرقم بين علامتى الأقواس ، فى كل مرة سينفذ الأمر "Position Object" سيتم وضع الأوبجكت الجديد داخل الأحداثيات اللتى اعلاناها لل X - Z ، وطبعا فى مثالنا نحن اعطينا الأحداثى Y الرقم صفر .



    If Upkey()=1 then Move camera 10



    امرنا التالى هو الأمر "Move camera" وهذا الأمر يشبة الأمر "Move Object" ماعدا ان طبعا اننا فى الأمر "Move camera" لا نحدد رقم للأبجكت ، الرقم اللذى بعد الأمر "Move camera" هو رقم مقدار الوحدات اللتى نريد تحديدها لحركة الكميرا وذلك عندما يتم الضغط على مفتاح (سهم لأعلى) فى كل مرة داخل الدائرة الرئيسية main loop .


    If Leftkey()=1 then Yrotate Camera Wrapvalue(caY#-5)

    If Rightkey()=1 then Yrotate Camera Wrapvalue(caY#+5)



    ان الأمر "YRotate Camera" يعتبر شبه الأمر "YRotate Object" ، ما عد ان هذا الأمر "YRotate Camera" يلف الكميرا حول المحور y ،، يجب عليك ان تفهم كيف يتم تحريك موضع الكميرا ، حاول ان تتلاعب فى قسم المثال وتجرب من نفسك حاول التغيير فى الرقم 10 فى الأمر move camera ، حاول ان تغير فى yrotate camera الى مثلا xrotate camera وأنظر للنتيجة أو حاول ان تغير فى قيم الأمر rnd لترى ما سيحدث ، يجب عليك التجربة بنفسك لتثقل نفسك اكثر بالمواهب اللتى علمتها لك .



    ملاحظة : قد تجد فى بعض الأسطر ان الكود معكوس والسبب طبعا صفحات الوب اللتى اكتب فيها الدرس ، وللتغلب على تلك المشكلة ومعرفة الكود بشكله الصحيح انسخ الكود مباشرة داخل برنامج الدركبيسك









  • #2
    بارك الله فيك اخي ووفقك الله لما يحبه ويرضاه
    ولكن يااخي هل اجد الاساسيات لهذه اللغة البرمجية وماالبرامج التي تشتغل عليه واعذرني على سؤالي لاني مصمم جرافيك وليس لدي اي خبرة في البرمجة ياريت تدلني على الطريق الصحيح في البرمجة وان يكون مفهوم اثابك الله ووفقك اخي العزيز

    اللهم انصر وثبت المجاهدين في العراق وفلسطين وافغانستان والشيشان
    قولوا امين
    اللهم حرر العراق وسوريا من ظلمة الشعوب كما حررت مصر وتونس وليبيا قولوا امين
    ===================================================================================================

    الاسم : طيف حاتم الدليمي
    البلد : العراق حاليا في مصر
    الوظيفة : مصمم مواقع وجرافيك
    صفحتي على الجوجل+ : طيف حاتم الدليمي

    تعليق


    • #3
      المشاركة الأصلية بواسطة tayfirq مشاهدة المشاركة
      بارك الله فيك اخي ووفقك الله لما يحبه ويرضاه
      ولكن يااخي هل اجد الاساسيات لهذه اللغة البرمجية وماالبرامج التي تشتغل عليه واعذرني على سؤالي لاني مصمم جرافيك وليس لدي اي خبرة في البرمجة ياريت تدلني على الطريق الصحيح في البرمجة وان يكون مفهوم اثابك الله ووفقك اخي العزيز
      السلام عليكم - مرحب بيك
      اخى الكريم ان أقول دائما صاحب بالين كداب وصاحب 3 منافق _ طالما انت متخصص جرافك فخليك بهذا المجال افضل لك ولا تشتت نفسك ، اما ان كنت تريد الأسترسال بالبرمجة فيمكنك ان تتعلم الدركبيسك او السى بلاص او الجسم ستوديو فتلك افضل البرامج الموجودة واللغات من وجهى نظرى حاليا ، انا عن نفسى لسه بتعلم الى الأن ،،،، يمكنك متابعة دروسى هذه واللتى ستكتسب بها مهارات فى الدركبيسك .

      تعليق

      يعمل...
      X