tag:blogger.com,1999:blog-6757803724377251271.post7336138365122598760..comments2023-05-09T11:15:09.960+02:00Comments on flash design skills: الدوال functionsمجموعة مهارات التصميم بالفلاشhttp://www.blogger.com/profile/07527499569140300570noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-6757803724377251271.post-62816614869537382462008-11-17T11:05:00.000+02:002008-11-17T11:05:00.000+02:00مروة محمد مسلم الدوالfunctionsالدالة Function عبار...مروة محمد مسلم <BR/>الدوال<BR/>functions<BR/>الدالة Function عبارة عن قالب يحتوى على كود أو عدد من الأكواد , وفى أى وقت تريد تشغيل تلك الأكواد كل ماعليك هو استدعاء الدالة وذلك بكتابة إسمها . <BR/>ولمزيد من الإيضاح نقول أن الدالة تتشابه فى فكرتها مع فكرة الرمز فى بعض النواحى , فكما أن الرمز عبارة عن قالب أو وعاء يحتوى على عناصر وأشكال وحركات فإن الدالة عبارة عن قالب أو وعاء يحتوى على أكواد , ومثلما ننشئ الرمز ثم نستعمله مرات ومرات فإننا ننشئ الدالة ثم نعيد إستعمالها مرات ومرات دون الحاجة لكتابة الأكواد من جديد , ومثلما هو الحال بالنسبة للرمز , عندما نحتاج إليه فى أى موضع فى الفيلم فقط نقوم بسحبه من المكتبة إلى المسرح فنوفر الوقت والجهد اللازمين لصنع الرمز من جديد, أيضا نفس الشيئ بالنسبة للدالة , فلو قمنا بصنع دالة ووضعنا فى داخلها أوامر برمجية , إذن لو أحببنا فى أى وقت استخدام نفس الأوامر البرمجية مرة أخرى فإن كل ماعلينا فعله هو كتابة إسم الدالة لإستدعائها , فيبدأ مشغل فلاش فى تنفيذ الأوامر التى بداخلها , وبذا سنوفر الوقت والجهد بعدم الحاجة لكتابة تلك الأكواد من جديد . <BR/>أى أنه مثلما يوفر الرمز الوقت والجهد عن طريق إستعمال نفس الرمز أكثر من مرة دون الحاجة لتصميمه من جديد , فكذلك الحال بالنسبة للدالة حيث يمكننا إستعمال نفس الدالة أكثر من مرة دون الحاجة إلى كتابة أوامرها البرمجية من جديد .<BR/>هل وضحت الفكرة ؟ , إذن لنكمل الشرح .<BR/>إن استعمال الدالة يتطلب أمرين :<BR/>الأمر الأول : إنشاء الدالة بالطبع , وهناك صيغة عامة لأى دالة يجب الإلتزام بها عند كتابة الدالة .<BR/>هذه الصيغة هى :<BR/><BR/><BR/> <BR/><BR/><BR/>حيث تبدأ الجملة البرمجية بكلمة function وهى من الكلمات التى يحجزها فلاش لإستعماله الخاص لذا تجد لونها أزرق , وفائدة تلك الكلمة هى تعريف فلاش بأننا بصدد إنشاء دالة , ثم نكتب إسم الدالة وهو هنا myFunction , متبوعا بقوسين هلاليين وذلك لكتابة Parameters أو معاملات فيها إن توفر ذلك وإن لم يتوفر نتركهما خاليين ( سنشرح ذلك إن شاء الله فيما بعد فلا تقلق ) , ثم قوسن متعرجين نضع بين القوس الأول والثانى مانشاء من أوامر الأكشن .<BR/>الأمر الثانى : إستدعاء الدالة حينما نريد تنفيذ الأوامر اللتى بداخلها , وذلك بكتابة إسمها متبوعا بقوسين هلاليين ثم فاصلة منقوطة :<BR/><BR/> <BR/><BR/><BR/>والآن لنقم بعمل فيلم صغير لتعميق مفهوم الدالة لديك .<BR/>1 – افتح ملف جديد وقم بإضافة 3 طبقات أخرى للطبقة الأولى وقم بتسمية الطبقات كما فى الصورة<BR/><BR/> <BR/><BR/><BR/>2- فى الطبقة الأولى Layer1 سنقوم بوضع إثنين من الأزرار الجاهزة فى مكتبة فلاش , اذهب للقائمة :<BR/>Window > Common Libraries > Buttons<BR/>ومن داخل قائمة Buttons اختر <BR/>Classic Buttons > Playback<BR/><BR/> <BR/><BR/><BR/>ومن القائمة الأخيرة اسحب الزر Get Right , والزر Get Stop إلى المسرح<BR/>2 – قم بتحديد الزرين أثناء الضغط على مفتاح Shift , ومن لوح المحاذاة Align , قم بالنقر على Align horizontal center , وذلك لعمل محاذاة وإظهارهما بشكل متناسق .<BR/><BR/> <BR/><BR/><BR/>وفى خانة Instance Nameقم بتسمية الزر العلوى الذى سيكون زر التشغيل بإسم play_btn , والزر السفلى الذى سيكون زر الإيقاف بإسم stop_btn .<BR/>3 – من لوحة المفاتيح اضغط Ctrl+F8 لإنشاء رمز من نوع موفى كليب وقم بتسميته كما فى الصورة ball_mc .<BR/>ملحوظة : كما قلنا من قبل فإن اللاحقة mc_ التى نضعها فى آخر الإسم ( وهى لتسمية الرموز من نوعية موفى كليب ) , هى عادة مستحبة فى التسمية حتى تظهر لنا تلميحات الكود أثناء الكتابة وهو شيئ مفيد للغاية , ومن اللواحق الشهيرة btn_ فى تسمية الأزرار , و txt_ فى تسمية النصوص , وstr_ فى تسمية البيانات من نوع string .. إلخ <BR/><BR/> <BR/><BR/><BR/>نحن الآن داخل مسرح تحرير الرمز وسنقوم بإنشاء حركة بسيطة داخل الرمز عبارة عن كرة تتحرك من خارج الشاشة يسارا إلى خارج الشاشة يمينا , وقد تعلمنا ذلك بالطبع فى الدروس السابقة . <BR/>والآن اخرج من مسرح تحرير الرمز بالنقر على Scene 1 فى منطقة Timeline<BR/>4 – من لوحة المفاتيح اضغط Ctrl+F8 لإنشاء رمز آخرمن نوع موفى كليب أيضا وقم بتسميته logo_mc , واستورد أى صورة صغيرة لمسرح العمل عن طريق الذهاب للقائمة :<BR/>File > Import > Import to stage<BR/>وقم بحويل الصورة إلى رمز من نوع Graphic , ثم أدرج إطار مفتاحى عند الإطار 100, ثم إرجع للإطار رقم 1 وانقر على الرمز ومن لوح الخواص إجعل قيمة Alpha تساوى صفر , ثم انقر على الإطار 1 واختر نوع الحركة Motion . وهكذا صنعنا حركة عبارة عن ظهور تدريجى لصورة . بمعنى أنها لا تكون ظاهرة فى الإطار 1 لأن قيمة ألفا تساوى صفر , وتستمر فى الظهور بشكل متدرج حيث تزيد قيمة ألفا تدريجيا حتى تصل لأعلى قيمة لها وهى 100 , وهى القيمة الإفتراضية لأى عنصر فى الحالة العادية بالنسبة لظهوره على المسرح .<BR/>والآن اخرج من مسرح تصميم الرمز بالنقر على Scene 1 فى منطقة Timeline<BR/>وبالطبع كلا الرمزين من نوع موفى كليب موجودان الآن فى المكتبة ولكى نستعملهما فى العمل لابد من سحبهما إلى المسرح , ولا تنسى تسميتهما فى لوح الخصائص بنفس أسمائهما , ولمعرفة أهمية ذلك اقرأ الملحوظة التى سأذكرها بعد قليل .<BR/>5 – عدنا من جديد إلى المسرح الأساسى للفيلم , انقر على طبقة txt1 لتنشيطها , ثم بأداة Text Tool قم بعمل نص أمام زر play_btn واكتب فيه العبارة التالية :<BR/>الدالة 1 تعمل حاليا <BR/>طبعا ستستعين ببرنامج الوسيط للكتابة باللغة العربية . وإن لم يكن لديك ذلك البرنامج اكتب معنى مشابه باللغة الإنجليزية .<BR/><BR/> <BR/><BR/><BR/>ثم قم بتحويل النص إلى رمز من نوع موفى كليب وقم بتسميته فى لوح الخصائص b_mc<BR/><BR/> <BR/><BR/><BR/>ثم قم بالنقر على الرمز فى المسرح ومن لوح الخصائص اجعل قيمة ألفا تساوى صفر <BR/><BR/> <BR/><BR/><BR/>ملحوظة فى غاية الأهمية : عند العمل فى أكشن سكريبت , لابد من تسمية أى عنصر سيكون متضمنا فى الأوامر البرمجية , وذلك بتحديده على المسرح ووضع إسم له فى لوح الخصائص , وفى أى وقت إذا قمت بعمل فيلم وعند اختباره فوجئت بظهور رسائل خطأ , قم بتفحص أسماء العناصر والتأكد من مطابقتها لنفس الأسماء فى الأوامر البرمجية . ويجب التطابق التام , ففى درس اليوم لو كتبت فى الأكشن إسم النص B_mc بدلا من إسمه الحقيقى فى لوح الخواص وهو b_mc , فببساطة سيتجاهل فلاش الأمر البرمجى ولن يقوم بتنفيذه , تماما مثلما تحاول أن تنادى شخصا إسمه أحمد , ولكنك تصيح قائلا : يا على ! .. ولن تكون هنالك أية مفاجأة إن تجاهل أحمد صيحاتك المتكررة ومضى إلى حال سبيله .. <BR/>6 – انقر على طبقة txt2 لتنشيطها , ثم بأداة Text Tool قم بعمل نص أمام زر stop_btn واكتب فيه العبارة التالية :<BR/>الدالة 2 تعمل حاليا <BR/>ثم قم بتحويل النص إلى رمز من نوع موفى كليب وقم بتسميته فى لوح الخصائص bb_mc<BR/>ثم قم بتغيير قيمة ألفا إلى صفر كما فعلنا مع النص الأول .<BR/>7 – انقر على طبقة a والتى نقوم عادة بتخصيصها للأكشن , وقم بكتابة الكود التالى :<BR/><BR/> <BR/><BR/><BR/>لاحظ أننى تعمدت تقديم الأكشن على هيئة صورة , حتى أمنعك من عادة النسخ واللصق , وهى عادة غير مستحبة فى لغة أكشن سكريبت , من الأفضل أن تقوم بكتابة الأكشن كلمة كلمة , فهذه اللغة مثلها مثل أى لغة تتطلب الممارسة كى تتعلمها. <BR/>وكما ترى هذه هى الصيغة العامة للكود , كلمة function ثم إسم الدالة وهو الإسم الذى بواسطته يتم إستدعاء الدالة فى أى وقت , ثم قوسين هلاليين يمكننا أن نضع بداخلهما معاملات أو قيم أو Parameters إن إحتجنا وإلا نتركهما خاليين , ثم قوسين متعرجين { } , وبين القوسين المتعرجين نضع الأوامر البرمجية .<BR/>والآن لنلقى بنظرة على الكود , وسنشرحه بالتفصيل كل سطر برقمه :<BR/>1, 2 – قمنا بإيقاف الموفى كليب الأول والثانى , لمنعهم من الحركة تلقائيا عند تشغيل الفيلم , وذلك لأننا نريد التحكم فى تلك الحركة .<BR/>3 – هنا نقوم بالإعلان عن دالة حيث ذكرنا إسمها , وهو الإسم الذى سنقوم بواسطته بإستدعاء الدالة .<BR/>ثم وضعنا قوسين هلاليين ( ) , وهذين القوسين مخصصين لوضع المعاملات أو القيم أو Parameters داخلهما , فإن لم يوجد أى من ذلك نترك القوسين خاليين ولكن لابد من كتابتهما . وسنشرح ذلك بالتفصيل فى الدروس القادمة إن شاء الله .<BR/>ثم وضعنا قوس متعرج إفتتاحى إتجاهه لليمين لنخبر فلاش أن أى أكواد تأتى بعد ذلك القوس تنتمى للدالة , وهذا القوس نكتبه بضغط Shift مع مفتاح الحرف ج , وذلك فى وضع اللغة الإنجليزية بالنسبة للوحة المفاتيح.<BR/>2 , 3 , 4 , 5 هنا وضعنا الأكواد التى نريد من الدالة تنفيذها , وكما هو متبع نضع فاصلة منقوطة فى نهاية كل أمر برمجى لنخبر فلاش بأننا أنهينا الأمر , وأن ما يأتى بعد ذلك يكون أمر جديد , والفاصلة المنقوطة تشبه النقطة التى نضعها فى نهاية الجملة فى كتاباتنا العادية .<BR/>أوامر الدالة 1 هى : تشغيل ما لدينا من الموفى كليب , وإظهار النص الأول :<BR/>الدالة 1 تعمل حاليا <BR/>وذلك بتغيير قيمة ألفا إلى 100 , وإخفاء النص الثانى الذى يقول : الدالة 2 تعمل حاليا وذلك بجعل قيمة ألفا تساوى صفر .<BR/>وأوامر الدالة 2 هى : إيقاف ما لدينا من الموفى كليب , وإظهار النص الثانى: <BR/>الدالة 2 تعمل حاليا<BR/>وذلك بتغيير قيمة ألفا إلى 100 , وإخفاء النص الذى يقول : الدالة 1 تعمل حاليا وذلك بجعل قيمة ألفا تساوى صفر .<BR/>6 – وضعنا قوس متعرج ختامى إتجاهه لليسار علامة على أننا أنهينا أكواد الدالة , وأى أكواد تأتى بعد ذلك لا تنتمى للدالة . , وهذا القوس نكتبه بضغط Shift مع مفتاح الحرف د , وذلك فى وضع اللغة الإنجليزية بالنسبة للوحة المفاتيح.<BR/>إن إنشاء الدالة لن يفيد بأى شيئ مالم نقم بإستدعاء تلك الدالة, وهنا سنجعل الضغط على أى من الزرارين يؤدى إلى إستدعاء دالة محددة .<BR/><BR/>- انقر على زر play_btn ثم اضغط F9 واكتب الأكشن التالى :<BR/><BR/> <BR/><BR/>ثم عد للمسرح وانقر على الزر stop_btn واضغط F9 وقم بكتابة الأكشن التالى :<BR/><BR/> <BR/><BR/>الآن اضغط Ctrl + Enter لإختبار الفيلم<BR/>مروة محمد مسلمالاميره الورديهhttps://www.blogger.com/profile/09189851592658185410noreply@blogger.com