إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

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

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

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

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



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


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

    https://www.arcadehole.com/games/rhomb/

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


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

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

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

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



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



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


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

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

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

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

    كود PHP:
    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 

    الان قوم بالمعاينة

    بالتوفيق

  • #2
    السلام عليكم ورحمة الله وبركاته

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

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

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

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


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



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

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

    و رتبها بهذا الشكل :


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

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

    كود PHP:
       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:
    pos Image.GetPos("bal1");
    pos1 Image.GetPos("Image1");
    old Image.GetSize("Image1"); 
    نجمع كل ما سبق في كود واحد في التايمر وهو

    كود PHP:
    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").
        
    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 
    قم بالحفظ ثم معاينة

    بالتوفيق

    تعليق


    • #3
      السلام عليكم ورحمة الله وبركاته

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

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


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


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

      كود PHP:
      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:
      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:
      --------------- 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").
          
      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").
          
      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 

      احفظ المشروع و معاينة

      تعليق


      • #4
        استمر بنفس المبدا و غير ما تشاء في المسارات و اضف كرات جديدة

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




        ننتزر التطيبق للدرس و اضافات جديدة
        بالتوفيق

        تعليق


        • #5
          ماشاء الله ولاقوة الا بالله
          رائع جدا

          تعليق


          • #6
            المشاركة الأصلية بواسطة فرح صالحي مشاهدة المشاركة
            ماشاء الله ولاقوة الا بالله
            رائع جدا
            شكرا ارجو انك نجحت معك الفكرة

            تعليق


            • #7
              السلام عليكم

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


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

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

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


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

              كود PHP:
              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:
               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:
              Page.StartTimer(1,1); 

              الكرة الزرقاء 2
              كود PHP:
              Page.StartTimer(1,2); 

              الكرة الزرقاء 3
              كود PHP:
              Page.StartTimer(1,3); 


              الكرة الزرقاء 4
              كود PHP:
              Page.StartTimer(1,4); 


              الكرة الزرقاء 5
              كود PHP:
              Page.StartTimer(1,5); 
              ثم في التايمر نضع الكود الطويل هذا
              كود PHP:
              --------------- 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").
                 
              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 
              احفظ العمل ثم معاينة
              سيظهر على هذا الشكل

              بالتوفيق

              تعليق


              • #8
                المشاركة الأصلية بواسطة عبد الهادي بهاب مشاهدة المشاركة
                شكرا ارجو انك نجحت معك الفكرة
                في الوقت الحالي مازلت لم اجرب عند توفرالوقت سوف احاول وامدك بالنتيجة ان شاء الله

                تعليق


                • #9
                  مباشرة اثناء المحاولة الاولى

                  تعليق


                  • #10
                    بسم الله الرحمن الرحيم
                    ما شاء الله تبارك الرحمان
                    ابداع وتميز استاذ عبد الهادي
                    موفق بإذن الله ... لك مني أجمل تحية .


                    تعليق


                    • #11
                      المشاركة الأصلية بواسطة ياسرهتهت مشاهدة المشاركة
                      بسم الله الرحمن الرحيم
                      ما شاء الله تبارك الرحمان
                      ابداع وتميز استاذ عبد الهادي
                      موفق بإذن الله ... لك مني أجمل تحية .


                      تحياتي استاذ ياسر

                      تعليق


                      • #12
                        المشاركة الأصلية بواسطة فرح صالحي مشاهدة المشاركة
                        مباشرة اثناء المحاولة الاولى
                        ضه لنا الملف النفتوح

                        تعليق


                        • #13
                          هذا الملف المفتوح
                          الملفات المرفقة

                          تعليق


                          • #14
                            المشاركة الأصلية بواسطة فرح صالحي مشاهدة المشاركة
                            هذا الملف المفتوح
                            كلو تمام
                            عندك مشكل في التسميات
                            الكرة الرزقاءة "bal" بدون مسافة في النهاية
                            المسار "Image1" و ليس image
                            اخيرا نضع كود تشغيل التايمر في الكرة الزرقاء و ليس في الصفحة

                            بالتوفيق في باقي الصفحات

                            تعليق


                            • #15
                              الله يعطيك العافية

                              تعليق

                              مواضيع تهمك

                              تقليص

                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-08-2025 الساعة 11:33 PM
                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-04-2025 الساعة 05:29 PM
                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-31-2025 الساعة 10:07 PM
                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-30-2025 الساعة 11:48 PM
                              المنتدى: التصنيع والانتاج نشرت بواسطة: HaMooooDi الوقت: 05-30-2025 الساعة 09:36 AM
                              يعمل...
                              X