X

تصميم لعبة Rhomb خطوة خطوة

AutoPlay Media Studio and Generate All In One Tutorials

 
  • Filter
  • Time
  • Show
Clear All
new posts
  • عبد الهادي بهاب
    Thread Author
    Free Membership
    • Nov 2018 
    • 181 
    • 81 
    • 43 

    السلام عليكم ورحمة الله وبركاته
    في تصميم الالعاب دوما نحتاج الى سيناريو اللعبة و كيفيكون التقدم فيها الخ من مراحل و شخصيات
    اليوم سيكون لنا شرح بسيط لتصميم لعبة ذكاء و استراتجيات اي تعنمد على الدقة و التركيز
    هي اللعبو المشهروة Rhomb



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


    رابط للعبة للفهم اكثر

    *

    --------------------------
    الان مع الاوتوبلاي :
    اولا يمكن في برنامج الفلاش نرسم مسارا و الجسم يتتبعه مائلا او افقيا ...........لكن في الاتوبلاي لم اصل الى ذلك اي تتبع مسار خط مهما كان وضعه ..........
    لذلك سنضع جسم و هدف و خط يمثل المسار ( يمثل ) ثم من خلال التايمر on Time نجعل الهدف يسير باتجاه الهدف و المسار يعتبر فقط جزئية اضافية
    لكن نجعل المسار الذي هو صورة تتقلص وفق حركة الهدف
    لاحظ الصورة التالية :



    مرحل المشروع :

    افتح مشروعا و اجعل الصفحة بيضاء

    نحتاج الى ثلاثة صور

    نسمي الصورة image الكرة الزرقاء bal


    نسمي image الهدف الكرة لببيضاء cib


    المسار وهو صورة image قطعة سوداء image1


    الان في الصورة الزرقاء نضع الكود التالي وهو تشفيل التايمر
    PHP Code:
    Page.StartTimer(1,1); 
    في الصفحة on timer

    يقوم الكود يتغيير مكان الصورة bal ياضافة 3 الى موقعها على X

    PHP Code:
    Image.SetPos("bal"Image.GetPos("bal").X+,  Image.GetPos("bal").); 
    و في نفس الوقت يتغير ايضا موقع الخط الاسود
    PHP Code:
    Image.SetPos("Image1",Image.GetPos("Image1").X+3Image.GetPos("Image1").Y); 
    لكن سيظهر للمسنخدم ان الخط يمحى و هنا نجعل طول الخط الاسود الذي هو صورة ينقص بمقدار تقدم الكرة اي ب 3 درجات نستخدم الكود التالي
    PHP Code:
    Image.SetSize("Image1",Image.GetSize("Image1").Width -3,Image.GetSize("Image1").Height); 
    ثم نشترط على التايمر انه اذا وصلت الكرة الى موقع الهدف يتوقف التايمر باستخدام الدالة if

    PHP Code:
      if  Image.GetPos("bal").>= Image.GetPos("cib").X   then
        Page
    .StopTimer(1); 
    الكود كله مع بعض :

    PHP Code:
    if e_ID == 1 then
        
    if  Image.GetPos("bal").>= Image.GetPos("cib").X   then
        Page
    .StopTimer(1); xButton.SetVisible("xButton1"true);
        else
        
    Image.SetPos("bal"Image.GetPos("bal").X+,  Image.GetPos("bal").);
        
    Image.SetSize("Image1",Image.GetSize("Image1").Width -3,Image.GetSize("Image1").Height);
        
    Image.SetPos("Image1",Image.GetPos("Image1").X+3Image.GetPos("Image1").Y);
        
    end
    end 
    الان قوم بالمعاينة

    بالتوفيق
  • Saadedin
    Administrator
    • Sep 2018 
    • 35704 
    • 18,353 
    • 2,790 

    #2
    يتبع:
    Originally posted by عبد الهادي بهاب
    السلام عليكم ورحمة الله وبركاته

    ----------
    اضف زر للانتقال بين الصفحات و ليكون Xbutton و لا يظهر الزر الا اذا محخ اللاعب في اجتياز اللعبة بناجح لينتقل الى مستوى اعلى
    ---------------

    الان في المرحلة الثانية نضيف نحد وهو اضافة كرتين bal1 و bal2

    بحيث اذا لمست احد الكرتين الاخرى يخسر اللاعب .......و يعيد من جديد

    مثل هذا الشكل :

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


    للتذكر يجب ان نتفق على تسميات الصورة في محلد الصور لاننا سنحتاجه الان :
    الصورة الزرقاء نسميها bleu و الكرة الحمراء red

    في كود الصورة الاولى وضعنا الكود لتسغيل التايمر رقم 1 اي e_ID رقم 1 :
    PHP Code:
    Page.StartTimer(1,1); 
    نفس الشي بالنسبة للكرة الزرقاء الثانية نضع الكود لتغسل التايمر رقم 3
    PHP Code:
    Page.StartTimer(1,3); 
    نضيف صورة جديدة سوداء لمسار الكرة الاولى عمودي و نسميها image2
    نضيف مسار اخر عمودي للكرة الزرقاء الثانية image3

    و رتبها بهذا الشكل و بهذه الاسماء :


    الان سنجعل الكرة الثانية تنول الى اسفل وهو يتغيير ترتيبها او موقعها Y باضافة 3 درجات و نشترط ان يتوقف التايمر 3 عندما يكون موقع الكرة الزرقاء 2 و الهدف 2 نفس الترتيب العمودي Y
    ليكون الكود كالاتي :

    PHP Code:
    if e_ID == 3 then
        
    if  Image.GetPos("bal2").>= Image.GetPos("cib2").Y   then
        Page
    .StopTimer(3);
        else
        
    Image.SetPos("bal2"Image.GetPos("bal2").,  Image.GetPos("bal2").Y+3);
        
    Image.SetSize("Image3",Image.GetSize("Image3").Width ,Image.GetSize("Image3").Height-3);
        
    Image.SetPos("Image3",Image.GetPos("Image3").XImage.GetPos("Image3").Y+3);
        
    end
    end 
    ------------------------------
    الان الكرة الاولى وهي انها سسترحك افقيا لذلك سنستخدم الكود السابق لكن متى تتوقف عندما يصل موقع الكرة الزرقاء 1 هو نفس موقع الهدف 1 بالنسبة للافقي X
    ثم لما يصل الى هناك يتوقف التيمر الاول1 .......و يتم تشغيل التايمر رقم 2 وهو يقوم يتحريك الكرة الزرقاء 1 الى اسفل باضافة 3 الى الترتيب y و نشترط توقف التايمر2
    عندما يكون الترتيب y للكرة الرزقاء2 اكبر او يساوي الهدف 2
    ------------------------------------
    كود الحاجز :
    اذا كان موقع الكرة الزرقاء 1 X هو اكبر من موقع الكرة الزرقاء 2 + قليلا و ليكون مثلا 25 درجة شرط ان يكون ترتيب الكرة الزرقاء 1 بين ترتيب الزرقاء 2 و بين ترتيبها + عرضها
    اذا حدث ذلك فسيتوقف التايمر 1 الذي يحرك الكرة الزرقاء 1
    نعوض الصورة الزرقاء 1 بصورة الخطا وهي الدائرة الحمراء
    و نصدر صوتا للخطا و ليكون اسم الصوت Scrape وهو موجود في مجموعة اصوات البرنامجذ

    PHP Code:
      Page.StopTimer(1);
        
    Image.Load("bal1""AutoPlay\\Images\\red.png");
        
    Audio.Load(CHANNEL_NARRATION"AutoPlay\\Audio\\Scrape.ogg"true); 
    بعد مرور وقت مثلا 500 ميلي ثانية
    PHP Code:
       Application.Sleep(500); 
    يعود كل شيء الى موقعه

    PHP Code:
       Image.SetPos("bal1"pos.Xpos.Y) ;
        
    Image.SetSize("Image1",old.Width ,old.Height);
        
    Image.SetPos("Image1"pos1.Xpos1.Y) ;
        
    Image.Load("bal1""AutoPlay\\Images\\bleu.png"); 
    اذن يجب ان نسحل في البداية المواقع الاصلية قبل الحركة و بالتالي نرجع الى الحدث On preload
    و نسجل المواقع
    اذن اذهب الى الحدث preload

    PHP Code:
    pos Image.GetPos("bal1");
    pos1 Image.GetPos("Image1");
    old Image.GetSize("Image1"); 
    نجمع كل ما سبق في كود واحد في التايمر وهو

    PHP Code:
    Image.GetSize("Image1").Width;

    if 
    e_ID == 1 then
        
    if  Image.GetPos("bal1").X  >= Image.GetPos("cib1").X   then
        Page
    .StopTimer(1); Page.StartTimer(52); xButton.SetVisible("xButton1"true);
        elseif  
    Image.GetPos("bal1").28  >= Image.GetPos("bal2").X
        
    and Image.GetPos("bal1").Y  >= Image.GetPos("bal2").and Image.GetPos("bal1").Y  <= Image.GetPos("cib2").Y+50 then
        Page
    .StopTimer(1);
        
    Image.Load("bal1""AutoPlay\\Images\\red.png");
        
    Audio.Load(CHANNEL_NARRATION"AutoPlay\\Audio\\Scrape.ogg"true);
        
    Application.Sleep(500);
        
    Image.SetPos("bal1"pos.Xpos.Y) ;
        
    Image.SetSize("Image1",old.Width ,old.Height);
        
    Image.SetPos("Image1"pos1.Xpos1.Y) ;
        
    Image.Load("bal1""AutoPlay\\Images\\bleu.png");
      
       else
        
    Image.SetPos("bal1"Image.GetPos("bal1").X+,  Image.GetPos("bal1").);
        
    Image.SetSize("Image1",Image.GetSize("Image1").Width -3,Image.GetSize("Image1").Height);
        
    Image.SetPos("Image1",Image.GetPos("Image1").X+3Image.GetPos("Image1").Y);
        
    end
    end

    if e_ID == 2 then
        
    if  Image.GetPos("bal1").>= Image.GetPos("cib1").Y   then
        Page
    .StopTimer(2);
        else
        
    Image.SetPos("bal1"Image.GetPos("bal1").,  Image.GetPos("bal1").Y+3);
        
    Image.SetSize("Image2",Image.GetSize("Image2").Width ,Image.GetSize("Image2").Height-3);
        
    Image.SetPos("Image2",Image.GetPos("Image2").XImage.GetPos("Image2").Y+3);
        
    end
    end

    if e_ID == 3 then
        
    if  Image.GetPos("bal2").>= Image.GetPos("cib2").Y   then
        Page
    .StopTimer(3);
        else
        
    Image.SetPos("bal2"Image.GetPos("bal2").,  Image.GetPos("bal2").Y+3);
        
    Image.SetSize("Image3",Image.GetSize("Image3").Width ,Image.GetSize("Image3").Height-3);
        
    Image.SetPos("Image3",Image.GetPos("Image3").XImage.GetPos("Image3").Y+3);
        
    end
    end 
    قم بالحفظ ثم معاينة

    بالتوفيق
    Comment
    • Saadedin
      Administrator
      • Sep 2018 
      • 35704 
      • 18,353 
      • 2,790 

      #3
      يتبع:
      Originally posted by عبد الهادي بهاب
      السلام عليكم ورحمة الله وبركاته

      في الصفحة الثالثة
      نفس الشكل السابق .....نضيف تحد جديد وهو مسار ثالث و ليكون معاكس للشكل الاول شرط ان نجعل الكرة الثالثة الرزقاء في مسار الكرة الثانية
      اذا بدا اللاعب بالكرة الاولى سيصطدم بالكرة الثانية
      اذا بدا بالكرة الثانية سيصطدم بالكرة الثالثة

      سيصبح المشروع بهذا الشكل :

      -------------------------
      تضيف كرة زرقاء 3 و هدف 3 و مسار بينهما
      و ليكون الشكل كالاتي بالتسميات الاتية

      اذن نضيف للكرة الزرقاء التايمر رقم 4

      PHP Code:
      Page.StartTimer(1,4); 
      و تفس السيناريو السابق في الكشاركة الاولى لكن بالعكس اي ستتقل الكرة يتنافص الفاصلة X ا نفس الشيء نشترط اذا وصلت الكرة الزرقاء 3 الى الهدف 3 سيتوقف التايمر
      و يكون الكود الكالتي

      PHP Code:
      if e_ID == 4 then
          
      if  Image.GetPos("bal3").<= Image.GetPos("cib3").X   then
          Page
      .StopTimer(4);
          else
          
      Image.SetPos("bal3"Image.GetPos("bal3").X-,  Image.GetPos("bal3").Y);
          
      Image.SetSize("Image4",Image.GetSize("Image4").Width-,Image.GetSize("Image4").Height);
          
      end
      end 
      -------------------------------
      اذا اصطدمت الكرة الرزقاء 2 بالكرة الزرقاء 3 سيظهر الجسم الاحمر وهنا مدخل شرط في كود الصفحة الثانية اذا كان ترتيب العمودي للكرة اكبر من المرة الزرقاء 2
      و فاصلتها اقل من فاصلة الرزقاء 2 يظهر الجسم الاحمر و يخطا اللاعب و نعود من جديد
      --------------
      لكن يبقى ان نسجل كل مواقع الصور في مصفوفات واحدة بالكرات الزرقاء pos1 و مصفوفة للمسارات pos2 و مصفوفة لحجم المسارات نسميها old
      في حدق الصفحة On preload بالكود التالي :
      PHP Code:
      pos1 = {}; for i=1,do pos1[i] =Image.GetPos("bal"..i); end
      pos2 
      = {};for i=1,do pos2[i] =Image.GetPos("Image"..i); end
      old 
      = {}; for i=1,do old[i] = Image.GetSize("Image"..i); end 
      ليصبح الكود اللكي في التايمر هو كالاتي
      PHP Code:
      --------------- balle 1 -----------------
      if 
      e_ID == 1 then
          
      if  Image.GetPos("bal1").X  >= Image.GetPos("cib1").X   then
          Page
      .StopTimer(1); Page.StartTimer(52);xButton.SetVisible("xButton1"true);
          elseif  
      Image.GetPos("bal1").28  >= Image.GetPos("bal2").X
          
      and Image.GetPos("bal1").Y  >= Image.GetPos("bal2").and Image.GetPos("bal1").Y  <= Image.GetPos("cib2").Y+50 then
          Page
      .StopTimer(1);
           
      Image.Load("bal1""AutoPlay\\Images\\red.png");
          
      Audio.Load(CHANNEL_NARRATION"AutoPlay\\Audio\\Scrape.ogg"true);
          
      Application.Sleep(500);
          
      Image.Load("bal1""AutoPlay\\Images\\bleu.png");
         for 
      i=1,do  Image.SetPos("bal"..ipos1[i].Xpos1[i].Y) ; end
          
      for i=1,do  Image.SetPos("Image"..ipos2[i].Xpos2[i].Y) ; end
          
      for i=1,do  Image.SetSize("Image"..i,old[i].Width ,old[i].Height); end
          
         
      else
          
      Image.SetPos("bal1"Image.GetPos("bal1").X+,  Image.GetPos("bal1").);
          
      Image.SetSize("Image1",Image.GetSize("Image1").Width -3,Image.GetSize("Image1").Height);
          
      Image.SetPos("Image1",Image.GetPos("Image1").X+3Image.GetPos("Image1").Y);
          
      end
      end

      if e_ID == 2 then
          
      if  Image.GetPos("bal1").>= Image.GetPos("cib1").Y   then
          Page
      .StopTimer(2);
          else
          
      Image.SetPos("bal1"Image.GetPos("bal1").,  Image.GetPos("bal1").Y+3);
          
      Image.SetSize("Image2",Image.GetSize("Image2").Width ,Image.GetSize("Image2").Height-3);
          
      Image.SetPos("Image2",Image.GetPos("Image2").XImage.GetPos("Image2").Y+3);
          
      end
      end

      ---------------- balle 2 -------------

      if 
      e_ID == 3 then
          
      if  Image.GetPos("bal2").>= Image.GetPos("cib2").Y   then
          Page
      .StopTimer(3);
          elseif 
      Image.GetPos("bal2").Y+28  >= Image.GetPos("bal3").Y
          
      and Image.GetPos("bal2").X  Image.GetPos("bal3").X then
          Page
      .StopTimer(3);
           
      Image.Load("bal2""AutoPlay\\Images\\red.png");
          
      Audio.Load(CHANNEL_NARRATION"AutoPlay\\Audio\\Scrape.ogg"true);
          
      Application.Sleep(500);
          
      Image.Load("bal2""AutoPlay\\Images\\bleu.png");
         for 
      i=1,do  Image.SetPos("bal"..ipos1[i].Xpos1[i].Y) ; end
          
      for i=1,do  Image.SetPos("Image"..ipos2[i].Xpos2[i].Y) ; end
          
      for i=1,do  Image.SetSize("Image"..i,old[i].Width ,old[i].Height); end
          
      else
          
      Image.SetPos("bal2"Image.GetPos("bal2").,  Image.GetPos("bal2").Y+3);
          
      Image.SetSize("Image3",Image.GetSize("Image3").Width ,Image.GetSize("Image3").Height-3);
          
      Image.SetPos("Image3",Image.GetPos("Image3").XImage.GetPos("Image3").Y+3);
          
      end
      end

      --------balle 3 --------------
      if 
      e_ID == 4 then
          
      if  Image.GetPos("bal3").<= Image.GetPos("cib3").X   then
          Page
      .StopTimer(4);
          else
          
      Image.SetPos("bal3"Image.GetPos("bal3").X-,  Image.GetPos("bal3").Y);
          
      Image.SetSize("Image4",Image.GetSize("Image4").Width-,Image.GetSize("Image4").Height);
          
      end
      end 
      احفظ المشروع و معاينة
      Comment
      • Saadedin
        Administrator
        • Sep 2018 
        • 35704 
        • 18,353 
        • 2,790 

        #4
        يتبع:
        Originally posted by عبد الهادي بهاب
        اذا فهمتم الدرس جيدا
        مكن تضيف مسارات جديدة
        و كرات جديدة
        و القضية تبقى فقط التنقل اما X او في Y

        لاحظوا المشروع باضافة صفحات جديدة



        ننتظر التطبيق للدرس

        تحياتي
        Comment
        • Saadedin
          Administrator
          • Sep 2018 
          • 35704 
          • 18,353 
          • 2,790 

          #5
          يتبع:
          Originally posted by عبد الهادي بهاب
          السلام عليكم

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



          تحتاج الى اضافة الحاجز الشائكة و منكن تضع جدارا او شرطيا او ما شئت

          للحاجز العمودي


          و للحاجز الافقي نقلب الصورة


          الان نسجل مواقع الكرات الزرقاء و المسارات و ايضا الحواجز
          في الحدث On preload

          PHP Code:
          pos1 = {}; for i=1,do pos1[i] =Image.GetPos("bal"..i); end
          pos2 
          = {};for i=1,do pos2[i] =Image.GetPos("Image"..i); end
          old 
          = {}; for i=1,do old[i] = Image.GetSize("Image"..i); end
          bars 
          = {}; for i=1,do bars[i] = Image.GetPos("bar"..i); end 
          ثم نفترض ان بعض الحاجز لن تظهر الا اذا انطلقت كرة و اخرى تظهر بعد وصول الكرة الى هدفها
          لذلك لن نخفي الصور لان التايمر سيحتسب موقعها لكن سننقلها خارج التجميعة تماما اي باعداد سالبة تماما
          نضع في الحدث on show في الصفحة الكود التالي و نسجل فيه موقع الكرات الجديدة و قد اخرجنا الحاجز 1 و 2 الى الخارج اي اخفيناهم

          PHP Code:
           Image.SetPos("bar1", -75, -75);
           
          Image.SetPos("bar2", -75, -75);
           
          bars2 = {}; for i=1,do bars2[i] = Image.GetPos("bar"..i); end 
          الان سنفرتض سيناريو لتحرك الكرات اي يجب ان تنطلف الكرة رقم 5 ثم 4 ثم 2 ثم 3 و اخيرا 1
          اذا لم بلتزم اللاعب بالسيناريو لن يصل الى الهدف و لن ينهي اللعبة و سيصطدم بالحاجز
          نعتمد نفس الاكواد السابقة في المشاركات السابقة وهو استعمال الدالة if بمقارنة موقع الكرات الزرقاء مع الحواجز

          نضغ في كل زرقاء الكود المشغل للتايمر الخاص بها و جعلناه نفس رقم الكرة
          اي الكرة الزرقاء 1
          PHP Code:
          Page.StartTimer(1,1); 
          الكرة الزرقاء 2
          PHP Code:
          Page.StartTimer(1,2); 
          الكرة الزرقاء 3
          PHP Code:
          Page.StartTimer(1,3); 
          الكرة الزرقاء 4
          PHP Code:
          Page.StartTimer(1,4); 
          الكرة الزرقاء 5
          PHP Code:
          Page.StartTimer(1,5); 
          ثم في التايمر نضع الكود الطويل هذا
          PHP Code:
          --------------- balle 1 -----------------
          if 
          e_ID == 1 then
              
          if  Image.GetPos("bal1").X  >= Image.GetPos("cib1").X   then
              Page
          .StopTimer(1); Page.StartTimer(522) ;
              elseif  
          Image.GetPos("bal1").35  >= Image.GetPos("bar1").X  
              
          and Image.GetPos("bal1").X  <= Image.GetPos("bar1").X+30  then
              Page
          .StopTimer(1);
              
          Image.Load("bal1""AutoPlay\\Images\\red.png");
              
          Audio.Load(CHANNEL_NARRATION"AutoPlay\\Audio\\Scrape.ogg"true);
              
          Application.Sleep(500);
              
          Image.Load("bal1""AutoPlay\\Images\\bleu.png");
              for 
          i=1,do  Image.SetPos("bal"..ipos1[i].Xpos1[i].Y) ; end
              
          for i=1,do   Image.SetPos("Image"..ipos2[i].Xpos2[i].Y) ; end
              
          for i=1,do   Image.SetSize("Image"..i,old[i].Width ,old[i].Height); end
              
          for i=1,do   Image.SetPos("bar"..ibars2[i].Xbars2[i].Y) ; end
             
          else
              
          Image.SetPos("bal1"Image.GetPos("bal1").X+,  Image.GetPos("bal1").);
              
          Image.SetSize("Image1",Image.GetSize("Image1").Width -3,Image.GetSize("Image1").Height);
              
          Image.SetPos("Image1",Image.GetPos("Image1").X+3Image.GetPos("Image1").Y);
              
          end
          end

          if e_ID == 22 then
              
          if  Image.GetPos("bal1").>= Image.GetPos("cib1").Y   then
              Page
          .StopTimer(22);
              elseif  
          Image.GetPos("bal1").40  >= Image.GetPos("bar3").Y  
              
          and Image.GetPos("bal1").X   Image.GetPos("bar3").and  Image.GetPos("bal1").X+50  Image.GetPos("bar3").X+65 then
              Page
          .StopTimer(22);
              
          Image.Load("bal1""AutoPlay\\Images\\red.png");
              
          Audio.Load(CHANNEL_NARRATION"AutoPlay\\Audio\\Scrape.ogg"true);
              
          Application.Sleep(500);
              
          Image.Load("bal1""AutoPlay\\Images\\bleu.png");
              for 
          i=1,do  Image.SetPos("bal"..ipos1[i].Xpos1[i].Y) ; end
              
          for i=1,do   Image.SetPos("Image"..ipos2[i].Xpos2[i].Y) ; end
              
          for i=1,do   Image.SetSize("Image"..i,old[i].Width ,old[i].Height); end
              
          for i=1,do   Image.SetPos("bar"..ibars2[i].Xbars2[i].Y) ; end
              
              
          else
              
          Image.SetPos("bal1"Image.GetPos("bal1").,  Image.GetPos("bal1").Y+3);
              
          Image.SetSize("Image2",Image.GetSize("Image2").Width ,Image.GetSize("Image2").Height-3);
              
          Image.SetPos("Image2",Image.GetPos("Image2").XImage.GetPos("Image2").Y+3);
              
          end
          end

          ---------------- balle 2 -------------

          if 
          e_ID == 2 then
              
          if  Image.GetPos("bal2").>= Image.GetPos("cib2").Y   then
              Page
          .StopTimer(2);
              
          Image.SetPos("bar1", -75, -75);
              
          Image.SetPos("bar5", -75, -75);
              
          Image.SetPos("bar3",bars[3].X,bars[3].Y);
             elseif  
          Image.GetPos("bal2").40  >= Image.GetPos("bar2").and  Image.GetPos("bal2").50  <= Image.GetPos("bar2").Y+30 then
              Page
          .StopTimer(2);
              
          Image.Load("bal2""AutoPlay\\Images\\red.png");
              
          Audio.Load(CHANNEL_NARRATION"AutoPlay\\Audio\\Scrape.ogg"true);
              
          Application.Sleep(500);
              
          Image.Load("bal2""AutoPlay\\Images\\bleu.png");
              for 
          i=1,do  Image.SetPos("bal"..ipos1[i].Xpos1[i].Y) ; end
              
          for i=1,do   Image.SetPos("Image"..ipos2[i].Xpos2[i].Y) ; end
              
          for i=1,do   Image.SetSize("Image"..i,old[i].Width ,old[i].Height); end
              
          for i=1,do   Image.SetPos("bar"..ibars2[i].Xbars2[i].Y) ; end
            
             
          elseif Image.GetPos("bal2").Y+28  >= Image.GetPos("bal3").Y
             
          and Image.GetPos("bal2").X  Image.GetPos("bal3").X then

              Page
          .StopTimer(2);
              
          Image.Load("bal2""AutoPlay\\Images\\red.png");
              
          Audio.Load(CHANNEL_NARRATION"AutoPlay\\Audio\\Scrape.ogg"true);
              
          Application.Sleep(500);
              
          Image.Load("bal2""AutoPlay\\Images\\bleu.png");
              for 
          i=1,do  Image.SetPos("bal"..ipos1[i].Xpos1[i].Y) ; end
              
          for i=1,do Image.SetPos("Image"..ipos2[i].Xpos2[i].Y) ; end
              
          for i=1,do Image.SetSize("Image"..i,old[i].Width ,old[i].Height); end
              
          for i=1,do   Image.SetPos("bar"..ibars2[i].Xbars2[i].Y) ; end
              
          else
              
          Image.SetPos("bal2"Image.GetPos("bal2").,  Image.GetPos("bal2").Y+3);
              
          Image.SetSize("Image3",Image.GetSize("Image3").Width ,Image.GetSize("Image3").Height-3);
              
          Image.SetPos("Image3",Image.GetPos("Image3").XImage.GetPos("Image3").Y+3);
              
          end
          end

          --------balle 3 --------------
          if 
          e_ID == 3 then
              
          if  Image.GetPos("bal3").<= Image.GetPos("cib3").X   then
              Page
          .StopTimer(3);
              
          Image.SetPos("bar2", -75, -75);
           
              elseif 
          Image.GetPos("bal3").X  <= Image.GetPos("bar4").X  then
              Page
          .StopTimer(3);
              
          Image.Load("bal3""AutoPlay\\Images\\red.png");
              
          Audio.Load(CHANNEL_NARRATION"AutoPlay\\Audio\\Scrape.ogg"true);
              
          Application.Sleep(500);
              
          Image.Load("bal3""AutoPlay\\Images\\bleu.png");
              for 
          i=1,do  Image.SetPos("bal"..ipos1[i].Xpos1[i].Y) ; end
              
          for i=1,do Image.SetPos("Image"..ipos2[i].Xpos2[i].Y) ; end
              
          for i=1,do Image.SetSize("Image"..i,old[i].Width ,old[i].Height); end
              
          for i=1,do   Image.SetPos("bar"..ibars2[i].Xbars2[i].Y) ; end
              
          else
              
          Image.SetPos("bal3"Image.GetPos("bal3").X-,  Image.GetPos("bal3").Y);
              
          Image.SetSize("Image4",Image.GetSize("Image4").Width-,Image.GetSize("Image4").Height);
              
          end
          end
          ---------balle 4 ---------------
          if 
          e_ID == 4 then
              
          if  Image.GetPos("bal4").<= Image.GetPos("cib4").X   then
              Page
          .StopTimer(4);
              
          Image.SetPos("bar2",bars[2].Xbars[2].Y);
              
          Image.SetPos("bar3",-75,-75); Image.SetPos("bar1",-75,-75);
               elseif 
          Image.GetPos("bal4").X  <= Image.GetPos("bar5").X then
              Page
          .StopTimer(4);
              
          Image.Load("bal4""AutoPlay\\Images\\red.png");
              
          Audio.Load(CHANNEL_NARRATION"AutoPlay\\Audio\\Scrape.ogg"true);
              
          Application.Sleep(500);
              
          Image.Load("bal4""AutoPlay\\Images\\bleu.png");
              for 
          i=1,do  Image.SetPos("bal"..ipos1[i].Xpos1[i].Y) ; end
              
          for i=1,do Image.SetPos("Image"..ipos2[i].Xpos2[i].Y) ; end
              
          for i=1,do Image.SetSize("Image"..i,old[i].Width ,old[i].Height); end
              
          for i=1,do   Image.SetPos("bar"..ibars2[i].Xbars2[i].Y) ; end
              
          else
              
          Image.SetPos("bal4"Image.GetPos("bal4").X-,  Image.GetPos("bal4").Y);
              
          Image.SetSize("Image5",Image.GetSize("Image5").Width-,Image.GetSize("Image5").Height);
              
          end
          end
          ------------balle 5 ------------
          if 
          e_ID == 5 then
              
          if  Image.GetPos("bal5").>= Image.GetPos("cib5").Y   then
              Page
          .StopTimer(5);
              
          Image.SetPos("bar2"bars[2].Xbars[2].Y);
              
          Image.SetPos("bar5"bars[5].X,bars[5].Y);
              
          Image.SetPos("bar1"bars[1].X,bars[1].Y);
              
          Image.SetPos("bar4", -75, -75);
              
          Image.SetPos("bar3", -75, -75);
              else
              
          Image.SetPos("bal5"Image.GetPos("bal5").,  Image.GetPos("bal5").Y+3);
              
          Image.SetSize("Image6",Image.GetSize("Image6").Width ,Image.GetSize("Image6").Height-3);
              
          Image.SetPos("Image6",Image.GetPos("Image6").XImage.GetPos("Image6").Y+3);
              
          end
          end 
          احفظ العمل ثم معاينة
          سيظهر على هذا الشكل


          بالتوفيق
          Comment
          • nao996
            Free Membership
            • Nov 2018 
            • 63 
            • 34 

            #6
            شكرا أخي الكريم
            Comment
            Working...
            X