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

ردود: 3 | زيارات: 703
  1. #1

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





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



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



    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. #2
    عضو فعال
    صور رمزية tayfIRQ
    تاريخ التسجيل
    Jan 2009
    المنطقة
    من العراق حاليا في مصر
    ردود
    268

    Thumbs up

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

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

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

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

Bookmarks

قوانين الموضوعات

  • لا يمكنك اضافة موضوع جديد
  • لا يمكنك اضافة ردود
  • لا يمكنك اضافة مرفقات
  • لا يمكنك تعديل مشاركاتك
  •  
  • كود BB مفعّل
  • رموز الحالة مفعّل
  • كود [IMG] مفعّل
  • [VIDEO] code is مفعّل
  • كود HTML معطل