عرض مشاركة واحدة
  #1  
قديم 09-13-2010, 08:34 PM
الصورة الرمزية الاستاذ خليل
الاستاذ خليل الاستاذ خليل غير متواجد حالياً
المدير العام


 
تاريخ التسجيل: Jan 2003
الدولة: مملكة البحرين
المشاركات: 3,977
الدرس 23 استنساخ الكائنات و حذفها عن طريق الامر duplicateMovieClip

السلام عليكم

السلام عليكم

اضغط هنا لتحميل الدرس

و في النهاية سيكون التطبيق كالتالي
http://www.hesab.net/swishmax3/52.swf


و هذا ملف المشروع مع الاكواد
http://www.hesab.net/swishmax3/52.swi

و لعمل النسخ

هذا الكود مثلا يعني
كود PHP:
 s.duplicateMovieClip("s1"1); 
قم بنسخ الكائن s و سم النسخة الجديدة s1 و رقم النسخة هي 1.



و لعمل اكثر من نسخة لاي كائن سواء اكان موفي كلب او شكل او صورة ...الخ
يجب علينا احتساب عدد الكائنات فنعرفها بحدث lode اذن :
قم بالضغط على السين او اي مكان فاضي في الشريحة و اختر سكربت و الصق هذا الكود
كود PHP:
 
onSelfEvent 
(load) {
    var 
sum Number 0


الان اصنع موفي كلب و ليكن اسمه s و قم بجعله target

اكتب نسخ من خلال مربع النص و اختر سكربت و الصق به هذا الكود

كود PHP:
on (press) {
  
_root.sum+=1;  
   
s.duplicateMovieClip("s" +  _root.sum ,  _root.sum);
 
_root["s" +  _root.sum]._xscale=_root["s" +  _root.sum]._yscale =Math.randomInt(150);
  
_root["s" +  _root.sum]._x=Math.randomInt(500);  
    
_root["s" +  _root.sum]._y=Math.randomInt(400);  

عندما يتم ضغط النص النسخ

يتم زيادة رقم على أرقاام الأشكال المنسوخة و هي من بداية تشغيل الملف صفر طبعا . و لكن اذا ضغط زر النسخ يصبح العدد 1

كود PHP:
   s.duplicateMovieClip("s" +  _root.sum ,  _root.sum); 
تعني

كود PHP:
   s.duplicateMovieClip 
انسخ الكائن الذي اسمه s


كود PHP:
"s" +  _root.sum 
و اجعل اسم النسخة كالتالي الحرف s و الصق معه رقم النسخة اي اسماء النسخة s1-s2-s3-s4 و هكذا
و اول مرة سيكون اسمه s1 لان سيكون الرقم به 1 لان فوق زدنا واحد سيلصق معه الحرف s

كود PHP:
 _root["s" +  _root.sum]._xscale=_root["s" +  _root.sum]._yscale =Math.randomInt(150); 
يذهب لكل الكائنات و يقوم بتغيير طول و عرض النسخة الى نسخة شوائية تكون اقل من 150% عشوائيا
و كتبنا
كود PHP:
root["s" +  _root.sum].
لان الكائن اسمه معتمد على متغير و لكن نعرفه عن طريق اضافة الحرف s و رقم النسخة . الاخيرة


كود PHP:
 _root["s" +  _root.sum]._x=Math.randomInt(500); 
يضع النسخة المنسوخة بمكان عشوائي في المستوى الافقي اقل من النقطة 500 اي اقل من طول 500 بكسل
كود PHP:
    _root["s" +  _root.sum]._y=Math.randomInt(400); 
يضع النسخة المنسوخة بمكان عشوائي في المستوى العمودي اي الصادات اقل من النقطة 400 اي اقل من عرض 400 بكسل


و اذا اردت حذف الموفي الصق بداخله هذا الاكشن
كود PHP:
onSelfEvent (press) {
    
    
this.removeMovieClip();

و فائدته انه يقوم بحذف الموفي كلب الحالية .




و التطبيق الثاني :

قم بوضع في حدث اللود هذا الكود في السين

onSelfEvent (load) {
var sum : Number = 0
var name : String = ""
}
و به عرفنا متغير رقمي اسمه sum به نحسب عدد النسخ .
و السطر الاخر عرفنا متغير نصي اسمه name و سنستخدمه لحفظ اسم الكائن بعد الضغط عليه.

انشأ النجمة و اجعل اسمها s و لا بد ان تكون target
كود PHP:
onSelfEvent (press) {
    
startDrag(_targetfalse);
    
_root.name=_name;
    
}
onSelfEvent (release) {
    
    
stopDrag();

و شرحه في الكود الاول عندما سيتم الضغط سيسمح للماوس ان تحرك الكائن بالسحب و الافلات و ثم سيحفظ قيمة نصية في المتغير name و الذي سيحفظ اسم الكائن

اي قلنا له احفظ بذاكرتك (ذاكرة الحاسب الآلي) اسم هذا الكائن الذي تم ضغطه للتو .


و الكود الاخر عندما يفلت المستخدم الكائن سيتم ايقاف السحب للكائن .


انشأ نص و اكتب بداخله النسخ هذا الكود

كود PHP:
on (press) {
  
_root.sum+=1;  
    
    
s.duplicateMovieClip("s" _root.sum_root.sum);

و فائدته عندما يضغط عليه المستخدم يتم زيادة رقم في sum اي زيادة عدد النسخ اي حساب رقم جديد للنسخة الاجدد

ثم قلنا له

انسخ الكائن s و اكتب اسمه النص s و ثم الصق عليه رقم النسخة sum و اجعل رقم النسخة هو المتغير sum
و هذا يعني سيكون اسم اول نسخة s1
و االنسخة الثانية s2
و النسخة الثالثة s3 و هكذا

اعمل نص به كلمة حذف و الصق به هذا الكود

كود PHP:
on (press) {
    
_root[_root.name].removeMovieClip();

و هو عندما يتم ضغطه يذهب لكل الكائنات و يختار اسم الكائن الموجود بذاكرة الجهاز و ثم يحذفه نهائيا .

و ننتظر تطبيق منكم

و يصلح هذا الموضوع في :
1- لتمثيل الأشكال .
2-اكمل الفراغ بسحب كلمة في الفراغ .
3- الالعاب .
__________________
هذا من فضل ربي
رد مع اقتباس