السلام عليكم و رحمة الله و بركاته..
ساقوم بهذ الموضوع بوضع سكربتات سي شارب مهمة باليونيتي و شرحها
لن يكون هناك اوقات منظمة لوضع السكربتات انما في كل وقت يسنح لي اضع سكربت و اشرحه
سيكون الشرح بسكربتات اي لن اشرح دالة او متغير انما ساضع سكربت له وظيفة و اشرحه شرح مفصل
سنبدا بكود الدم (الحياة) :
جرب وضع هذا الكود في سكربت سي شارب و ضعه في الكميرا و شغل اللعبة ستلاحظ فوق على اليسار وجود مستطيل فيه 100/100
وهو معدل الحياة
الان جرب ان تغير curHealth من خارج السكربت الى مثلا 30 و شغل اللعبة
ستلاحظ تغير في طول المستطيل
كيف حدث هذا ؟؟
سنبدأ الشرح:
اولا عرّفنا متغيرين اولهما maxHealth الذي يعبّر عن الدم الاصلي (الكامل) و استخدما int اي ان العدد من نوع الاعداد الصحيحة اي لا يجوز تضع الرقم هكذا 10.16 مثلا سيحدث خطأ
المتغير الثاني هو curHealth الذي يعبر عن الدم الذي لديك اي يمكن ان يتناقص و استخدمنا نوعه int مثل السابق
ثانيا عرفنا فنكشن اسمه OnGUI يستخدم لوضع Gui في الللعبة تكون ثابتة على الشاشة اي موجود فقط بالنسبة لك وليس في بيئة اللعبة و هي تو دي
وضعنا بداخلها الامر GUI.Box الذي يقوم بانشاء Gui على شكل بوكس اي مربع او مستطيل و فتحنا قوس لوضع المقاسات و المحتوى
كتبنا بداخل القوس new Rect ثم فتحنا قوس اخر لوضع احداثيات و حجم البوكس و وضعنا اولا احداثيات البوكس التي تبدا من فوق و من اليسار و هي 10 من اليسار و 10 من فوق
و من ثم وضعنا طول و عرض البوكس فكان طوله هذه المعادلة Screen.width/2/(maxHealth/cur health) التي تعني :
screen.width تعني عرض الشاشة
فتكون المعادلة بمجموعها تعني نصف الشاشة تقسيم (الدم الكامل على الدم المستخدم) حتى يكون الطول متناسب مع الدم المستخدم
ثم وضعنا العرض 20
وبعدها اغلقنا القوس
ووضعنا فاصلة لوضع محتويات البوكس
التي هي maxHealth و / و curHealth
و من ثم اغلقنا الدالة و بعدها اغلقنا الكلاس
انتهى الشرح
ارجو ان يكون الشرح مفهوم
اي استفسار انا جاهز
ساقوم بهذ الموضوع بوضع سكربتات سي شارب مهمة باليونيتي و شرحها
لن يكون هناك اوقات منظمة لوضع السكربتات انما في كل وقت يسنح لي اضع سكربت و اشرحه
سيكون الشرح بسكربتات اي لن اشرح دالة او متغير انما ساضع سكربت له وظيفة و اشرحه شرح مفصل
سنبدا بكود الدم (الحياة) :
كود PHP:
using UnityEngine;
using System.Collections;
public class PlayerHealth : MonoBehaviour {
public int maxHealth = 100;
public int curHealth = 100;
void Start(){
}
void Update(){
}
void OnGUI(){
GUI.Box(new Rect(10,10,Screen.width/2/(maxHealth/curHealth),20),curHealth + "/" + maxHealth);
}
}
وهو معدل الحياة
الان جرب ان تغير curHealth من خارج السكربت الى مثلا 30 و شغل اللعبة
ستلاحظ تغير في طول المستطيل
كيف حدث هذا ؟؟
سنبدأ الشرح:
اولا عرّفنا متغيرين اولهما maxHealth الذي يعبّر عن الدم الاصلي (الكامل) و استخدما int اي ان العدد من نوع الاعداد الصحيحة اي لا يجوز تضع الرقم هكذا 10.16 مثلا سيحدث خطأ
المتغير الثاني هو curHealth الذي يعبر عن الدم الذي لديك اي يمكن ان يتناقص و استخدمنا نوعه int مثل السابق
ثانيا عرفنا فنكشن اسمه OnGUI يستخدم لوضع Gui في الللعبة تكون ثابتة على الشاشة اي موجود فقط بالنسبة لك وليس في بيئة اللعبة و هي تو دي
وضعنا بداخلها الامر GUI.Box الذي يقوم بانشاء Gui على شكل بوكس اي مربع او مستطيل و فتحنا قوس لوضع المقاسات و المحتوى
كتبنا بداخل القوس new Rect ثم فتحنا قوس اخر لوضع احداثيات و حجم البوكس و وضعنا اولا احداثيات البوكس التي تبدا من فوق و من اليسار و هي 10 من اليسار و 10 من فوق
و من ثم وضعنا طول و عرض البوكس فكان طوله هذه المعادلة Screen.width/2/(maxHealth/cur health) التي تعني :
screen.width تعني عرض الشاشة
فتكون المعادلة بمجموعها تعني نصف الشاشة تقسيم (الدم الكامل على الدم المستخدم) حتى يكون الطول متناسب مع الدم المستخدم
ثم وضعنا العرض 20
وبعدها اغلقنا القوس
ووضعنا فاصلة لوضع محتويات البوكس
التي هي maxHealth و / و curHealth
و من ثم اغلقنا الدالة و بعدها اغلقنا الكلاس
انتهى الشرح
ارجو ان يكون الشرح مفهوم
اي استفسار انا جاهز
تعليق