هذا الموضوع مثبت لأهميته.
X
X

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

Collapse
  • تصفية
  • الوقت
  • عرض
مسح الكل
مشاركات جديدة
  • VIP
    • Nov 2018
    • 74

    السلام عليكم ورحمة الله وبركاته
    في تصميم الالعاب دوما نحتاج الى سيناريو اللعبة و كيفيكون التقدم فيها الخ من مراحل و شخصيات
    اليوم سيكون لنا شرح بسيط لتصميم لعبة ذكاء و استراتجيات اي تعنمد على الدقة و التركيز
    هي اللعبو المشهروة 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 
    الان قوم بالمعاينة

    بالتوفيق
    Link
  • المسؤول الفني
    • Sep 2018
    • 18623

    #2
    يتبع:
    المشاركة الأصلية بواسطة عبد الهادي بهاب
    السلام عليكم ورحمة الله وبركاته

    ----------
    اضف زر للانتقال بين الصفحات و ليكون 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 
    قم بالحفظ ثم معاينة

    بالتوفيق
  • المسؤول الفني
    • Sep 2018
    • 18623

    #3
    يتبع:
    المشاركة الأصلية بواسطة عبد الهادي بهاب
    السلام عليكم ورحمة الله وبركاته

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

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

    -------------------------
    تضيف كرة زرقاء 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 
    احفظ المشروع و معاينة
  • المسؤول الفني
    • Sep 2018
    • 18623

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

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



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

    تحياتي
  • المسؤول الفني
    • Sep 2018
    • 18623

    #5
    يتبع:
    المشاركة الأصلية بواسطة عبد الهادي بهاب
    السلام عليكم

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



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

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


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


    الان نسجل مواقع الكرات الزرقاء و المسارات و ايضا الحواجز
    في الحدث 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 
    احفظ العمل ثم معاينة
    سيظهر على هذا الشكل


    بالتوفيق
  • عضو مشارك
    • Nov 2018
    • 66

    #6
    شكرا أخي الكريم

Working...
X