كائنات objects :--كما أن في العالم الواقعي كائنات مثل السيارات والأجهزة الكهربائية و و و...والتي لديها خصائص و وظائف تميزها عن غيرها..فإن فلاش يحتوي على العديد من الكائنات التي تحتوي على
خصائص (properties) يمكن تعديلها والتحكم فيها بواسطة أوامر أكشن سكريبت ..
, و أساليب (methods) والتي تؤدي مهاما معينة , وهذه الكائنات توفر لنا طرقا للتعامل مع النصوص والأصوات وقصاصات الأفلام والتواريخ ....الخ ..
ويتم التعامل مع الكائنات عن طريق ضبط خصائصها (properties) ,,واستدعاء أساليبها (methods) وفي درس اليوم سأوضح بإذن الله كيف نستخدم هذه الأساليب والخصائص لزيادة التفاعل في فلاش ....
***طيب سنتحدث الآن عن الخصائص (properties) :إذا نظرت إلى أي كائن في الوجود ....فإنك ستتعرف عليه عن طريق خصائصه شكله , لونه , طوله , صوته ووو.....
وأيضا في فلاش فإن كل كائن له خصائص معينة متاحة له حسب نوعه..
وفي لغة الأكشن سكريبت معظم الكائنات"
وليس كلها" تحتوي على خصائص ...مثلا نسخة قصاصة فيلم معينة (والتي هي نسخة من الكائن الذي يسمى movieClip ) سيكون لها خصائص مثل x , _y , _visible , _ rotation _ وغيرها ...
وفي فلاش كما تعرفنا مسبقا نستطيع تعريف قيم الخصائص للكائنات باستخدام النقاط كالتالي (اسم الكائن ثم النقطة ثم اسم الخاصية ) وطريقة تعريف قيم الخصائص للكائنات مألوفة جدا لأننا تطرقنا للعديد من الأوامر في الدروس السابقة و للتأكيد تأمل المثال التالي :--
بعد تنفيذ الأمر سيتم تدوير قصاصة الفيلم المسماة myMovie بزاوية
45...لاحظ وجود الشرطة السفلية في بداية أسماء خصائص قصاصات الأفلام.
***الأساليب (methods) :-- والتي تمثل المهام التي يستطيع الكائن أداءهـــا ..فكل نوع من الكائنات له مجموعة فريدة من الأساليب ,,
ونلاحظ أن الأسلوبين () stop (),,play لا يحتاجان إلى وسائط ... وهناك أساليب أخرى تحتاج إلى وسائط .
و فكرة الأساليب وتمرير القيم إليها مألوفة للجميع لأنها تعتبر كدالات عادية يتم استخدامها لنوع معين من الكائنات ..لاحظ الأسلوب
() setVolume الذي يضبط حجم الصوت هو خاص بكائن الصوت ولن يكون له معنى إذا استخدمناه مع كائنات أخرى ...
أنواع الكائنات : باختصار شديد لدينا نوعين من الكائنات ..
1- كائنات عامة :التي تستخدم مع الفيلم ككل ,على سبيل المثال كائن الفأرة Mouse هو كائن عام لماذا؟؟ لأن فيلم الفلاش يمكن أن يحتوي على مؤشر فارة واحد فقط ..ولن أتمكن من إنشاء نسخ من كائن الفأرة كما أفعل مع قصاصات الأفلام ... والكائنات العامة تكون حاضرة في فيلم فلاش و جاهزة للاستخدام في أي وقت ...
و أمثلة على هذا النوع من الكائنات :Math , Accessibility ,Key , Mouse ,Selection , Stage , System والتي سنشرح بعضها بالتفصيل لاحقا ..
وقد استخدمنا بالدرس السابق الكائن Math وبالتالي فإننا نلاحظ سهولة في هذا النوع من الكائنات بمجرد ذكر اسمه فقط وكتابة الوسائط الخاصة فيه.
2-الكائنات العادية : وهي التي يتم بناءها من "طبقة" class معينة ثم إنشاء نسخ منها لاستخدامها في الفيلم ..
طيب لنأخذ أمثلة \\ جميع قصاصات الأفلام في الفيلم تنتمي للكلاس movieclip ..وجميع الحقول النصية التي تنشئها على المسرح تنتمي للكلاس TextField وهكذا ..ويحتوي الفلاش على العديد من الكلاسات منها :
Array - Number - String -Data - sound - movieClip - TextField
وباستثناء كائنات movieClip - TextField - Button فإن جميع كلاسات الكائنات يتم إنشاءها بواسطة ما يسمى بإجراء بناء constructor وهي مهمة سهلة للغاية ستتضح مع الكائنات التالية بإذن الله ....
عموما لا تشغل بالك كثيرا بهذين النوعين ..هي مجرد تقسيم ...سنتعرف في الأجزاء التالية إنشاء الله على كائنات أكشن سكريبت الشائعة وفائدة كل منها وكيفية الاستفادة منه عمليا ...
كائنات أكشن سكريبت الشائعة :-**كائن Arrray :- بكل بساطة المصفوفة هي متغير لكن يحفظ العديد من القيم في حين أن المتغير العادي يحفظ قيمة واحدة فقط .... ويتم إنشاء المصفوفة بصورة مشابهة لما يلي :
وهذا الأمر السابق الذي كتبناه هو إجراء البناء الذي سميناه
constructor الذي بواسطته أنشأنا الكائن Array... العملية سهلة أليس كذلك !!!!............. وطبعا في الأمر السابق المصفوفة اسمها c4arab ,وتحتوي على أربع قيم نستطيع الوصول لأي قيمة منها عن طريق رقم الفهرس الخاص بها والفهارس في المصفوفات تبدأ العد من الصفر zero-based , فالمصفوفة التي قمنا بإنشائها في المثال تحتوي على القيم بهذا الترتيب :-
فكما تلاحظ أن أن القيمة الأولى في المصفوفة وهي "
north " رقمها 0 , والقيمة الثانية "
east" رقمها 1 وهكذا ..
وطريقة الوصول لأي عنصر فيها هي أن تكتب اسم المصفوفة ثم رقم الفهرس للقيمة بين القوسين :
فهذا الأمر تتم فيه قراءة القيمة الثالثة في المصفوفة c4arab وهي "south " ,وحفظها في المتغير myVariable ..
وتساعد المصفوفات في حفظ القيم المتعلقة ببعضها في مجموعة واحدة ..بحيث تتمكن من التعامل معها بسهولة ...
جرب التطبيق التالي :-افتح ملف جديد في فلاش ثم أنشئ 3 مربعات نص من النوع input text ولتأخذ الأسماء التاليةemail , age , name وذلك لكي يدخل المستخدم فيها بياناته ... ومربع نص من النوع dynamic text اسمه mymsg لتعرض النتيجة فيه ثم قم بعمل زر وأضف له الأوامر التالية في البداية أشأنا مصفوفة اسمها user تخزن 3 قيم وكل قيمة منهم هي عبارة عن محتوى مربع نص ...
بحيث أن ال [0]user هي name.text ,, وال [1]user هي age.text .,,, وال [2]user هي ال email.text .........,وطبعا اسم المصفوفة هي user.و السطرين 3 و 4 فهي لإظهار النتائج في مربع النص mymsg....
**كائن Button :-- ويتم إنشاء نسخة من هذا الكائن بمجرد أن تضع الزر في مساحة العمل , ومن السهل جدا إضافة الأوامر للزر كما تعرفنا في العديد من الأمثلة السابقة ..وبإمكانك تسمية الزر في لوحة الخصائص لتتحكم فيها ديناميكيا بواسطة أوامر أكشن سكريبت على سبيل المثال إذا كان لديك زر في نافذة العمل ضمن فلم فلاشي لديك,وقمت بتسميته في لوحة الخصائص بالاسم ksb ....و أردت أن يكون هذا الزر معطلا عند الإطار 33 بحيث لا يستطيع المستخدم التفاعل معه فإنك ستحدد الإطار 33 في الخط الزمني ثم تنتقل إلى نافذة الأوامر وتكتب الأمر التالي :-
وإذا أردت في إطار آخر تفعيل الزر مرة أخرى ستكتب نفس الأمر السابق لكن بجعل القيمة true ...
وهناك العديد من خصائص ال button والتي تستطيع ضبطها لكي تتحكم في طريقة عمل الزر على المسرح ..على سبيل المثال الأمر التالي يؤدي إلى تغيير شكل مؤشر الماوس عند تحريكه فوق الزر ksb ..