منتدى جزيرة الرياضيات

منتدى جزيرة الرياضيات (http://www.hesab.net/vb/index.php)
-   جزيرة السويش ماكس Swish Max (http://www.hesab.net/vb/forumdisplay.php?f=100)
-   -   سؤال حول السحب والإفلات (http://www.hesab.net/vb/showthread.php?t=7342)

عبدالمنعم 09-03-2010 04:14 PM

سؤال حول السحب والإفلات
 
1 مرفق
كيف أستطيع أن أسحب شيء ويبقى في مكانه حتى أستطيع سحبه لعدة مرات

مثال للسؤال في المرفقات :

الاستاذ خليل 09-05-2010 03:58 PM

ما هو الشكل الذي تود ان تسحبه عدة مرات ؟

هل الكتابة ام الصور ؟ حدد اكثر

الاستاذ خليل 09-05-2010 05:49 PM

1 مرفق
السلام عليكم

عدلت على الملف كالتالي:
هنا نحتاج الى درس المتغيرات فهو مهم جدا راجع الدروس السابقة .

اضفت اليه كود يحسب الدرجات ارجو ان يكون مفهوما

و طريقته نعرف فقط متغير في حدث اللود lode باسم و يكون كالتالي
sum=0

اي اجعل قيمة المجموع = 0


و نضيف نص داينمك و نكتب اسمه sum في المتغير اي في var و ليس في اسم الكائن



و فقط ماكان الذي نريد ان نضيف درجة نزيد 1 على القيمة كالتالي:

كود PHP:

     _root.sum+=1





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

كود PHP:

onSelfEvent (load) {
    
xt1=t1._x;
    
yt1=t1._y;
 
    
xt2=t2._x;
    
yt2=t2._y;
    
sum=0;
 


هذا الكود يعمل من بداية ضهور الصفحة اي من بداية تشغيل العمل يتنفذ فيه هذه الاوامر

السطر الاول عرفنا متغير اسمه xt1 و به يحفظ قيمة موضع النص t1 في البعد السيني
السطر الثاني عرفنا متغير اسمه yt1 و به يحفظ قيمة موضع النص t1 في البعد الصادي
السطر الاول عرفنا متغير اسمه xt2 و به يحفظ قيمة موضع النص t2 في البعد السيني
السطر الثاني عرفنا متغير اسمه yt2 و به يحفظ قيمة موضع النص t2 في البعد الصادي
السطر الخامس عرفنا متغير اسمه sum لحساب الدرجات و اعطايناه القيمة 0 من بداية تشغيل العرض



الان قم بدراج نص داينمك و اجعل المتغير var اسمه sum لكي تكتب نتيجة الطالب هناك

قم بصنع اجابة صحيحة و سمها t و تعمل من الفريم الثاني اي تأثير حيث الفريم الاول به توقف
و صنع اجابة خاطئة و سمها f و تعمل من الفريم الثاني اي تأثير حيث الفريم الاول به توقف

اجعل اسم النص الاول طبيعي الاضائة اسمه t1 و لا بد ان يكون تارجت target
اجعل اسم النص الثاني صناعئ الاضائة اسمه t2 و لا بد ان يكون تارجت target

سم صورتين طبيعية الاضاءة باسم s1 , s3 و لا بد جعلهما target

سم صورتين صناعية الاضاءة باسم s2 , s4 و لا بد جعلهما target

قم بالضغط النص ذاتي الاضاءة و الصق به هذا الكود

على السكربت و الصق هذا الكود .
كود PHP:

 
onSelfEvent 
(press) {
    
startDrag(_targetfalse);
}
onSelfEvent (release) {
 
    
stopDrag();
 
 
    if (
_droptarget==_root.s1._target) {
      
_root.s1._visible=false;  
     
_root.sum+=1;
      
_root.t.gotoAndPlay(2);
       }else if (
_droptarget==_root.s3._target) {
      
_root.s3._visible=false;  
     
_root.sum+=1;
      
_root.t.gotoAndPlay(2);
       }else{
        
_root.f.gotoAndPlay(2);    
       }
 
      
_root.t1._x=_root.xt1;
      
_root.t1._y=_root.yt1;




قم بالضغط على نص صناعي الاضاءة t2 و الصق به هذا السكربت
كود PHP:

onSelfEvent (press) {
    
startDrag(_targetfalse);
}
onSelfEvent (release) {
 
    
stopDrag();
 
 
    if (
_droptarget==_root.s2._target) {
      
_root.s2._visible=false;  
     
_root.sum+=1;
      
_root.t.gotoAndPlay(2);
       }else if (
_droptarget==_root.s4._target) {
      
_root.s4._visible=false;  
     
_root.sum+=1;
      
_root.t.gotoAndPlay(2);
       }else{
        
_root.f.gotoAndPlay(2);    
       }
 
      
_root.t2._x=_root.xt2;
      
_root.t2._y=_root.yt2;





اقصد بهذا الكود عندما يضغط المستخدم على النص يتم السماح للنص بالتحرك مع الماوس و هو اول ثلاثة اسطر


و عندما يفلت المستخدم النص يحصل ما يلي

اول سطر
كود PHP:

 onSelfEvent (release) { 

يعني عندما يفلت المستخدم الماوس


كود PHP:

  stopDrag(); 

يتم الغاء السحب عن الكائن اي يبقى مكانه

كود PHP:

 if (_droptarget==_root.s2._target) { 

اذا قمنا بافلات الماوس و كنا ساحيبن النص t2 على الهدف s2 يحصل التالي

كود PHP:

      _root.s2._visible=false

يتم اخفاء الصورة s2



كود PHP:

_root.sum+=1

يتم زيادة 1 على الاجابات الصحيحة

كود PHP:

_root.t.gotoAndPlay(2); 

يتم تشغيل موفي الاجابة الصحيحة من الفريم الثاني


كود PHP:

}else if (_droptarget==_root.s4._target) { 

و الا يتنفذ شرط جديد يكون النص t2 ممسوكا الماوس فإذا افلت على الهدف s4 يتنفذ ما يلي

و هي نفس السابق
كود PHP:

root.s4._visible=false;  
     
_root.sum+=1;
      
_root.t.gotoAndPlay(2); 

يخفي الكائن s4
و يجمع 1 على الاجابات الصحيحة
و يتم تشغيل الاجابة الصحيحة من الفريم الثاني


و الكود
كود PHP:

 }else{ 

اذا لم تتنفذ الشروط السابقة يحصل ما يلي
كود PHP:

 _root.f.gotoAndPlay(2); 

يتم تشغيل الاجابة الخاطئة من الفريم الثاني .


كود PHP:

 

انتهى الشرط

كود PHP:

 _root.t2._x=_root.xt2

يقوم بارجاع النص t2 لمكانة الاصلي المحفوظ لكي يتم سحبه مرة اخرى في البعد السيني




كود PHP:

      _root.t2._y=_root.yt2

و يتم ارجاع الكائن t2 لمكانة الاصلي حسب الموضع الصادي حسب القيمة المحفوظة في ذاكرة الكمبيوتر و التي تم ادراجها في حدث lode


لا حظ انني عمل الشرط فقط لصورتين بها اضاءة طبيعية و 2 اضائتها صناعية فبجب عليك استكمال الشرط

يعني تضيف شرط جديد بعد تسمية الصور الباقية s9 s5 s6 s7 s8 و جعلها جميعها target يكون الشرط اعلى else

حاول في هذا الامر علشان تعرف تعدل الاكواد

و اليك الملف ايضا لتقوم بالتعديل عليه و عليك ارجاعه كاملا

الاستاذ خليل

عبدالمنعم 09-05-2010 07:44 PM

الله يعطيك العافية ويجعله في ميزان حسناتك

أشكرك على الجهد الجبار ، سوف أتدرب عليه .

:0041:

الاستاذ خليل 09-05-2010 08:03 PM

و لا تنسى تطبيقك كي يستفيد الاعضاء و تتدرب انت


الساعة الآن 08:46 AM

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. TranZ By Almuhajir