السلام عليكم ورحمة الله وبركاته
بسم الله الرحمن الرحيم
نظراً لطلب بعض الأعضاء لدروس سهلة للغة روبي/RGSS2 ,لذلك
ان شاء الله حقوم بوضع سلسلة من الدروس أن شاء الله حتعلمك هذه اللغة,
وححاول أبسطه بقدر الأمكان ونبدأ:
ملاحظه:أذا كنت في عجله فهذا الموضوع فلن تتعلم أي شيئ,يجب أن تتفرغ وعليك
فتح البرنامج والقيام خطوه بخطوه حسب الشرح لتفهم ^^.
حتتفاجؤن كيف حنبدي نصمم Window نحن مانعرف شيئ عن هذه اللغه,الجواب
حتعرفونه في نهاية الدرس :
ونبدأ على بركة الله...
اولاً:عمل وندوز من أسهل الأمور في لفة RGSS2 ونستخدم لذلك السكربت التالي:
كود:class My_Window < Window_Base def initialize super(0,0,200,200) end end
شرح خطوه بخطوه:
class : هذه تصيغ أسم النداء ,يعني السكربت سميته My_Window ووضعته بعد الأمر class ,وهنا تسمى السكربت بأسم My_Window وحنشوف تأثيرها بتجربة السكربت بعد قليل.
< : هذه العلامه أذا وضعت بعد أسم السكربت تعتبر علامة وراثه فقط أذا جائت بعد أسم السكربت أي أنه سيرث صفاته من الـWindow_Base ,أما أذا جاء بعد رقم أو أي صيغة خارج أسم السكربت فهي تعتبر علامة أصغر من.وسيتم شرحها فيما بعد.
def + initialize : أن شاء الله سأقوم بشرحها فيما بعد لكن يجب ذكرها في كل Window نقوم بعمله.
super : هذه معقده تقريباَ حتى أنا ماأعرف جميع خواصه ,لكن أحد هذه الخواص انه تقوم بالتعديل على صفات المورث منه أي Window_Base ترون فيه x,y,width,height موقع بالقيمة السينية,الموقع بالقيمو الصادية,الطول,العرض ,حيث قمت بتحديد ها كما ترون x=0,y=0,width=200 ,height=200 ,وكذلك يجب أستخدام هذا المصطلح في كل وندوز نقوم بعمله.
لتجربة السكربت نقوم بعمل أيفينت ونستخدم Advanced/script ونقوم بكتابة أسم السكربت أي My_Window و new أي My_Window.new ,هذه فائدة الclass تستخدم لتسمية السكربتات وندائها بأضافة (أسم الوندوز.new).
الناتج:
محتويات الـWindow :-
الخطوط:
حنستخدم بهذه الخطوه أن شاء الله الـdef وتفهمون جزء من أستخدام هذا المسطلح,نقدر نكتب خط بطرقتين الأولى:
كود:class My_Window < Window_Base def initialize super(0,0,200,200) self.contents.draw_text(0,0,100,100,"Yeah it a Text") end end
والثانيه :
كود:class My_Window < Window_Base def initialize super(0,0,200,200) refresh end def refresh self.contents.clear self.contents.draw_text(0,0,100,100,"Yeah it a Text") end end
بالطريقتين أستخدمنه المسطلح:
(self.contents.draw_text(x,y,width,height,text,alig
x = موقع النص بالقيمة السينية
y = موقع النص بالقيمة الصادية
height = طول الخط
width = عرض الخط
text = النص بين علامتي أقتباس "النص"
alig = موقع الخط 0 يسار 1 وسط 2 يمين 3 أو أكثر حيقولك خطأ ^^(0-1-2)
الناتج:
لكن أنظروا في الطريقه الأولى وضعنا الخط تحت مصطلح super .
لكن في الطريقه الثانيه أستخدمنه الـــrefresh وايضاً def refresh
ماهي العلاقه؟
العلاقه ان وضعنها في الــdef refresh
self.contents.clear
self.contents.draw_text
في المصطلح الأول شرحها أن شاء الله في الدرس القادم ,اما الثانيه فعملنا فيها نص.
وقمنا وضع الـــrefresh في def initialize
أي يمنا بتعريف ال refresh بأستخدام المسطلح def,حتفهموها أكثر بهذه الأمثلة:
كود:class My_Window < Window_Base def initialize super(0,0,200,200) terming end def termingكود:self.contents.clear self.contents.draw_text(0,0,100,100,"Yeah it a Text") end end
كود:class My_Window < Window_Base def initialize super(0,0,200,200) systolizing end def systolizingكود:self.contents.clear self.contents.draw_text(0,0,100,100,"Yeah it a Text") end end
في جميع الحالات قمنا بتعريف قيمة كل من systolizing,terming بأستخدام المصطلح def على أنها نص.
أرجوا انكم قد فهمتهم فائدة المصطلح def .
التكمله بعد قليل..... في نفس الموضوع