بسم الله
اعادة لمثال الـ Health علشان خاطر عيون Evil joker
ملحوظة : المثال مرفق في نفس هذا الموضوع في صفحة 25
هذا المثال لعمل Health للاوبجكت ورسمها على الشاشة وجعلها تنقص اذا اصطدمت بالعدو .. بطريقة بدائية جدا
اول شيء نقوم بصناعة اويجكت مكعب وليكن هو العدو الذي سيصطدم به البطل .. ونعطيه رقم 1 وحجمه50 ثم نضع موقعه في اي نقطة ولتكن (300و20و300)
كود PHP:
make object cube 1,50
position object 1,300,20,300
بعد ذلك نفترض ان البطل كره .. اوبجكت كره وحجمه 50 ولا يهم موقعها لانه سوف يتغير بعد ذلك
كود PHP:
make object sphere 2,50
ثم نضع قيمة اوليه للـ Health ولتكن 150 .. وستكون هذه القيمة هي العليا .. اي اكبر قيمة لحياة اللاعب
كود PHP:
health=150
بعد ذلك نبدأ الحلقة التكرارية ونضع بها الاكواد التي تجعلنا نتحكم بالبطل (الكره)
امام وخلف ويمين ويسار .. وكذلك نضع بعض المتغيرات نخزن فيها قيم نقاط موقع الاوبجكت البطل .. حيث ان البطل سوف يتغير مكانه بحركة الاسهم .. وهذه المتغيرات سوف تسهل التعامل مع المواقع كما نرى :
كود PHP:
do
if upkey()=1 then move object 2,5
if downkey()=1 then move object 2,-5
if rightkey()=1 then yrotate object 2,object angle y(2)+2
if leftkey()=1 then yrotate object 2,object angle y(2)-2
ax#=object position x(2)
ay#=object position y(2)
az#=object position z(2)
any#=object angle y(2)
بعد ذلك نأتي لجزء رسم الحياه .. وحقيقة سيتم رسمها على جزئين .. الاول هو الجزء الاحمر والذي يعني نقصان الحياة .. والثاني هو الجزء الاخضر والذي يعني زيادة الحياه .. حيث سنرسم جزء النقصان خلف جزء الزيادة وبالتالي عند نقصان الجزء الاخضر سيظهر من خلفه الجزء الاحمر
كود PHP:
ink rgb(255,0,0),rgb(255,0,0)
box 0,0,150,15
نلاحظ اننا رسمنا Box بالاحداثيات 0 و0 و150 و 15 .. يعني سيرسم مربع طويل الى حد ما في زاوية الشاشة اليسرى العليا
بعد ذلك نرسم الجزء الاخضر وهو الحياه
كود PHP:
ink rgb(0,255,0),rgb(0,255,0)
box 0,0,health,15
نلاحظ هنا اننا رسمنا نفس الاحداثيات السابقة الا اننا استبدلنا الاحداثي Left بالمتغير Health والذي سيكون فيه قيمة الحياه التي سوف تتغير كما يلي
كود PHP:
if health > 0
if object collision(2,1)>0 then dec health,2
endif
في هذا الكود نختبر قيمة Health اذا كانت اكبر من صفر يختبر التصادم بين البطل والعدو .. اذا وجد يتم نقصان الـ Health عن طريق Dec .. اي اذا تحقق شرطي التصادم وان الحياه اكبر من صفر يبدأ في انقاص الحياه
كود PHP:
if health <= 0 then end
طبعا هذه سهله .. تعني انه في حالة الحياه اقل من صفر انهي البرنامج
ارجو ان اكون وضحت الموضوع .. واي استفسار ان شاء الله موجودين