السلام عليكم و رحمة الله
مرحبا بكم في درس جديد من دورة تعلم الاكشن سكربت3
في الدرس السابق تحدثنا عن الكلاسات و الكائنات لكن ليس بصفة نظرية
قلنا انه بامكاننا صنع نوع جديد من المتغيرات
و هذا عن طريق انشاء الكلاسات
و قلنا -انها كالعجيبنة التي تمكننا من صنع الكثير من الكائنات من نفس النوع
في هذا الدرس سنقوم بتطبيق تلك المفاهيم على الاكشن سكربت 3
خطوة ب خطوة
______________________________
كيفية صنع كلاس في الاكشن سكربت3 (Syntax) :
package //class directory
{
public class name
{
//attributes
//methodes
}
}
_____________________________________________________________
Package
معمولة لتسهل علينا البرمجة حيث يتم وضع مجموعة كلاسات من نفس الموضوع
داخل نفس المجلد
و هذا يجعل مشروعنا اكثر تنظيما و أناقة فمثلا لدينا الكثير من الكلاسات
و لدينا كلاسات تخص لاعبنا
نريد انشاء كلاس جديدة اسمها character
نقوم بانشاء مجلد اسمه player
ثم نقوم بانشاء الكلاس character داخل مجلد player ليصبح الكود هكذا
package player
{
public class character
{
//attributes & methods
}
}
_______________________________________________________________
تطبيق
سنقوم بانشاء أول كلاس لنا
في الاكشن سكربت 3 الكلاسات يتم انشاءها في ملفات من نوع.as
اتبع الخطوات التالية:
1.قم بانشاء مشروع جديد من نوع ActionScript3
2.قم بحفظ المشروع في مجلد
3.قم بانشاء كلاس جديد
File -> new.. -> ActionScript 3.0 Class
و اعطيها اسمplayer
4.قم بحفظها داخل نفس مجلد المشروع
سنلاحظ انه تشكل لنا هذا الكود
package
}
public class player
}
public function player()
{
//constructor code
}
}
}
الان عد الى المشروع و اضغط على اطار لكتابة أكواد الاكشن سكربت 3 من TIMELINE
و اكتب ما يلي
var p1: player = new player();
trace(p1 is player );
نقوم بتشغيل البرنامج عن طريق
Ctrl + enter
او
Control -> Test Scene
سيكتب لنا true
يعني ان p1 من نوع player
كما نرى قمنا بنشاء نوع جديد من الكائنات
نقول أن p1 هوinstance للكلاسplayer
لايمكن انشاء كائن او متغير له اسم كلاس
يعني ممنوع كتابة
var player: player = new player();
_________________________________________________________
ماذا حدث بالظبط؟؟
سندرس هذا السطر
var p1: player =new player();
var p1: player;
فلنفرض انه لا وجود لnew player()
قمنا بانشاء كائن من نوع playerدون اعطاء قيمة
لحد الان هذا الكائنا قيمتهnull
= new player();
هنا قمنا بانشاء الكائن
المترجم يدخل الى الكلاس player
و يقوم بتنفيذ الدالة player اوتوماتيكيا
هذه الدالة لها نفس اسم الكلاس و هي اجبارية حتى لو كانت فارغة
تدعى ب constructor
قبل قليل عندما انشأنا الكلاس
كانت هناك دالة لها نفس اسم الكلاس و مكتوب داخلها
constructor code
و هي اول دالة تنفذ عند انشاء كائن جديد
لكي نتأكد من هذا نقوم بالدخول الى الكلاسplayer مرة اخرى
و نكتب هذا الكود داخلconstructor
trace(‘constructor executed!‘);
لتصبح الكلاس هكذا
package
{
public class player()
{
public function player()
{
trace(‘constructor exectued!’);
}
}
{
الان نعيد تشغيل البرنامج بctrl + enter
نرى أنه يكتب لنا
Constructor executed!
و هذا يدل ان ال method
()player قد تم استدعاءها اوتوماتيكيا
__________________________________________
في الدرس القادم سنكمل هذه الكلاس و سنضع فيها
بعض المتغيرات و الدوال
ليست هناك تعليقات:
إرسال تعليق