تسجيل الدخول

مشاهدة النسخة كاملة : تصميم لعبة Rhomb خطوط خطوة


عبد الهادي بهاب
21-11-2017, 05:44 PM
السلام عليكم ورحمة الله وبركاته
في تصميم الالعاب دوما نحتاج الى سيناريو اللعبة و كيفيكون التقدم فيها الخ من مراحل و شخصيات
اليوم سيكون لنا شرح بسيط لتصميم لعبة ذكاء و استراتجيات اي تعنمد على الدقة و التركيز
هي اللعبو المشهروة Rhomb

https://cdn.arcadehole.com/games/thumbs/custom/R/Rhomb.jpg

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


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

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

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

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

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

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

نسمي الصورة image الكرة الزرقاء bal
https://b.top4top.net/p_690z3isy1.png


نسمي image الهدف الكرة لببيضاء cib
https://e.top4top.net/p_690jpq7o3.png


المسار وهو صورة image قطعة سوداء image1
https://c.top4top.net/p_69094w542.png

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

في الصفحة on timer

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

Image.SetPos("bal", Image.GetPos("bal").X+3 , Image.GetPos("bal").Y );

و في نفس الوقت يتغير ايضا موقع الخط الاسود
Image.SetPos("Image1",Image.GetPos("Image1").X+3, Image.GetPos("Image1").Y);

لكن سيظهر للمسنخدم ان الخط يمحى و هنا نجعل طول الخط الاسود الذي هو صورة ينقص بمقدار تقدم الكرة اي ب 3 درجات نستخدم الكود التالي
Image.SetSize("Image1",Image.GetSize("Image1").Width -3,Image.GetSize("Image1").Height);

ثم نشترط على التايمر انه اذا وصلت الكرة الى موقع الهدف يتوقف التايمر باستخدام الدالة if

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

if e_ID == 1 then
if Image.GetPos("bal").X >= Image.GetPos("cib").X then
Page.StopTimer(1); xButton.SetVisible("xButton1", true);
else
Image.SetPos("bal", Image.GetPos("bal").X+3 , Image.GetPos("bal").Y );
Image.SetSize("Image1",Image.GetSize("Image1").Width -3,Image.GetSize("Image1").Height);
Image.SetPos("Image1",Image.GetPos("Image1").X+3, Image.GetPos("Image1").Y);
end
end


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

بالتوفيق

عبد الهادي بهاب
21-11-2017, 06:56 PM
السلام عليكم ورحمة الله وبركاته

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

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

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

مثل هذا الشكل :
https://b.top4top.net/p_690vzlas1.gif

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

https://e.top4top.net/p_690bms951.png

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

في كود الصورة الاولى وضعنا الكود لتسغيل التايمر رقم 1 اي e_ID رقم 1 :
Page.StartTimer(1,1);

نفس الشي بالنسبة للكرة الزرقاء الثانية نضع الكود لتغسل التايمر رقم 3
Page.StartTimer(1,3);

نضيف صورة جديدة سوداء لمسار الكرة الاولى عمودي و نسميها image2
نضيف مسار اخر عمودي للكرة الزرقاء الثانية image3

و رتبها بهذا الشكل :
https://f.top4top.net/p_690wr4d41.png

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

if e_ID == 3 then
if Image.GetPos("bal2").Y >= Image.GetPos("cib2").Y then
Page.StopTimer(3);
else
Image.SetPos("bal2", Image.GetPos("bal2").X , Image.GetPos("bal2").Y+3);
Image.SetSize("Image3",Image.GetSize("Image3").Width ,Image.GetSize("Image3").Height-3);
Image.SetPos("Image3",Image.GetPos("Image3").X, Image.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 وهو موجود في مجموعة اصوات البرنامجذ

Page.StopTimer(1);
Image.Load("bal1", "AutoPlay\\Images\\red.png");
Audio.Load(CHANNEL_NARRATION, "AutoPlay\\Audio\\Scrape.ogg", true);


بعد مرور وقت مثلا 500 ميلي ثانية
Application.Sleep(500);


يعود كل شيء الى موقعه

Image.SetPos("bal1", pos.X, pos.Y) ;
Image.SetSize("Image1",old.Width ,old.Height);
Image.SetPos("Image1", pos1.X, pos1.Y) ;
Image.Load("bal1", "AutoPlay\\Images\\bleu.png");

اذن يجب ان نسحل في البداية المواقع الاصلية قبل الحركة و بالتالي نرجع الى الحدث On preload
و نسجل المواقع
اذن اذهب الى الحدث preload

pos = Image.GetPos("bal1");
pos1 = Image.GetPos("Image1");
old = Image.GetSize("Image1");

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

w = Image.GetSize("Image1").Width;

if e_ID == 1 then
if Image.GetPos("bal1").X >= Image.GetPos("cib1").X then
Page.StopTimer(1); Page.StartTimer(5, 2); xButton.SetVisible("xButton1", true);
elseif Image.GetPos("bal1").X + 28 >= Image.GetPos("bal2").X
and Image.GetPos("bal1").Y >= Image.GetPos("bal2").Y 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.X, pos.Y) ;
Image.SetSize("Image1",old.Width ,old.Height);
Image.SetPos("Image1", pos1.X, pos1.Y) ;
Image.Load("bal1", "AutoPlay\\Images\\bleu.png");

else
Image.SetPos("bal1", Image.GetPos("bal1").X+3 , Image.GetPos("bal1").Y );
Image.SetSize("Image1",Image.GetSize("Image1").Width -3,Image.GetSize("Image1").Height);
Image.SetPos("Image1",Image.GetPos("Image1").X+3, Image.GetPos("Image1").Y);
end
end

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

if e_ID == 3 then
if Image.GetPos("bal2").Y >= Image.GetPos("cib2").Y then
Page.StopTimer(3);
else
Image.SetPos("bal2", Image.GetPos("bal2").X , Image.GetPos("bal2").Y+3);
Image.SetSize("Image3",Image.GetSize("Image3").Width ,Image.GetSize("Image3").Height-3);
Image.SetPos("Image3",Image.GetPos("Image3").X, Image.GetPos("Image3").Y+3);
end
end

قم بالحفظ ثم معاينة

بالتوفيق

عبد الهادي بهاب
21-11-2017, 07:29 PM
السلام عليكم ورحمة الله وبركاته

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

سيصبح المشروع بهذا الشكل :
https://c.top4top.net/p_690f3oa61.gif

-------------------------
تضيف كرة زرقاء 3 و هدف 3 و مسار بينهما
و ليكون الشكل كالاتي بالتسميات الاتية
https://f.top4top.net/p_690oz3on1.png

اذن نضيف للكرة الزرقاء التايمر رقم 4
Page.StartTimer(1,4);

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

if e_ID == 4 then
if Image.GetPos("bal3").X <= Image.GetPos("cib3").X then
Page.StopTimer(4);
else
Image.SetPos("bal3", Image.GetPos("bal3").X-3 , Image.GetPos("bal3").Y);
Image.SetSize("Image4",Image.GetSize("Image4").Width-3 ,Image.GetSize("Image4").Height);
end
end


-------------------------------
اذا اصطدمت الكرة الرزقاء 2 بالكرة الزرقاء 3 سيظهر الجسم الاحمر وهنا مدخل شرط في كود الصفحة الثانية اذا كان ترتيب العمودي للكرة اكبر من المرة الزرقاء 2
و فاصلتها اقل من فاصلة الرزقاء 2 يظهر الجسم الاحمر و يخطا اللاعب و نعود من جديد
--------------
لكن يبقى ان نسجل كل مواقع الصور في مصفوفات واحدة بالكرات الزرقاء pos1 و مصفوفة للمسارات pos2 و مصفوفة لحجم المسارات نسميها old
في حدق الصفحة On preload بالكود التالي :
pos1 = {}; for i=1,3 do pos1[i] =Image.GetPos("bal"..i); end
pos2 = {};for i=1,4 do pos2[i] =Image.GetPos("Image"..i); end
old = {}; for i=1,4 do old[i] = Image.GetSize("Image"..i); end


ليصبح الكود اللكي في التايمر هو كالاتي
--------------- balle 1 -----------------
if e_ID == 1 then
if Image.GetPos("bal1").X >= Image.GetPos("cib1").X then
Page.StopTimer(1); Page.StartTimer(5, 2);xButton.SetVisible("xButton1", true);
elseif Image.GetPos("bal1").X + 28 >= Image.GetPos("bal2").X
and Image.GetPos("bal1").Y >= Image.GetPos("bal2").Y 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,3 do Image.SetPos("bal"..i, pos1[i].X, pos1[i].Y) ; end
for i=1,4 do Image.SetPos("Image"..i, pos2[i].X, pos2[i].Y) ; end
for i=1,4 do Image.SetSize("Image"..i,old[i].Width ,old[i].Height); end

else
Image.SetPos("bal1", Image.GetPos("bal1").X+3 , Image.GetPos("bal1").Y );
Image.SetSize("Image1",Image.GetSize("Image1").Width -3,Image.GetSize("Image1").Height);
Image.SetPos("Image1",Image.GetPos("Image1").X+3, Image.GetPos("Image1").Y);
end
end

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

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

if e_ID == 3 then
if Image.GetPos("bal2").Y >= 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,3 do Image.SetPos("bal"..i, pos1[i].X, pos1[i].Y) ; end
for i=1,4 do Image.SetPos("Image"..i, pos2[i].X, pos2[i].Y) ; end
for i=1,4 do Image.SetSize("Image"..i,old[i].Width ,old[i].Height); end
else
Image.SetPos("bal2", Image.GetPos("bal2").X , Image.GetPos("bal2").Y+3);
Image.SetSize("Image3",Image.GetSize("Image3").Width ,Image.GetSize("Image3").Height-3);
Image.SetPos("Image3",Image.GetPos("Image3").X, Image.GetPos("Image3").Y+3);
end
end

--------balle 3 --------------
if e_ID == 4 then
if Image.GetPos("bal3").X <= Image.GetPos("cib3").X then
Page.StopTimer(4);
else
Image.SetPos("bal3", Image.GetPos("bal3").X-3 , Image.GetPos("bal3").Y);
Image.SetSize("Image4",Image.GetSize("Image4").Width-3 ,Image.GetSize("Image4").Height);
end
end



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

عبد الهادي بهاب
21-11-2017, 07:39 PM
استمر بنفس المبدا و غير ما تشاء في المسارات و اضف كرات جديدة

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

https://c.top4top.net/p_690rbsfh1.gif


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

فرح صالحي
21-11-2017, 07:44 PM
ماشاء الله ولاقوة الا بالله
:abc_152:رائع جدا :abc_152:

عبد الهادي بهاب
22-11-2017, 02:23 PM
ماشاء الله ولاقوة الا بالله
:abc_152:رائع جدا :abc_152:

شكرا ارجو انك نجحت معك الفكرة

عبد الهادي بهاب
22-11-2017, 02:28 PM
السلام عليكم

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

https://c.top4top.net/p_691wg2594.png
تحتاج الى اضافة الحاجز الشائكة و منكن تضع جدارا او شرطيا او ما شئت

للحاجز العمودي
https://f.top4top.net/p_6911rd3u1.png
و للحاجز الافقي نقلب الصورة
https://a.top4top.net/p_69188xss2.png

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

pos1 = {}; for i=1,5 do pos1[i] =Image.GetPos("bal"..i); end
pos2 = {};for i=1,6 do pos2[i] =Image.GetPos("Image"..i); end
old = {}; for i=1,6 do old[i] = Image.GetSize("Image"..i); end
bars = {}; for i=1,5 do bars[i] = Image.GetPos("bar"..i); end


ثم نفترض ان بعض الحاجز لن تظهر الا اذا انطلقت كرة و اخرى تظهر بعد وصول الكرة الى هدفها
لذلك لن نخفي الصور لان التايمر سيحتسب موقعها لكن سننقلها خارج التجميعة تماما اي باعداد سالبة تماما
نضع في الحدث on show في الصفحة الكود التالي و نسجل فيه موقع الكرات الجديدة و قد اخرجنا الحاجز 1 و 2 الى الخارج اي اخفيناهم

Image.SetPos("bar1", -75, -75);
Image.SetPos("bar2", -75, -75);
bars2 = {}; for i=1,5 do bars2[i] = Image.GetPos("bar"..i); end


الان سنفرتض سيناريو لتحرك الكرات اي يجب ان تنطلف الكرة رقم 5 ثم 4 ثم 2 ثم 3 و اخيرا 1
اذا لم بلتزم اللاعب بالسيناريو لن يصل الى الهدف و لن ينهي اللعبة و سيصطدم بالحاجز
نعتمد نفس الاكواد السابقة في المشاركات السابقة وهو استعمال الدالة if بمقارنة موقع الكرات الزرقاء مع الحواجز

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


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


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



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



الكرة الزرقاء 5
Page.StartTimer(1,5);

ثم في التايمر نضع الكود الطويل هذا
--------------- balle 1 -----------------
if e_ID == 1 then
if Image.GetPos("bal1").X >= Image.GetPos("cib1").X then
Page.StopTimer(1); Page.StartTimer(5, 22) ;
elseif Image.GetPos("bal1").X + 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,5 do Image.SetPos("bal"..i, pos1[i].X, pos1[i].Y) ; end
for i=1,6 do Image.SetPos("Image"..i, pos2[i].X, pos2[i].Y) ; end
for i=1,6 do Image.SetSize("Image"..i,old[i].Width ,old[i].Height); end
for i=1,5 do Image.SetPos("bar"..i, bars2[i].X, bars2[i].Y) ; end
else
Image.SetPos("bal1", Image.GetPos("bal1").X+3 , Image.GetPos("bal1").Y );
Image.SetSize("Image1",Image.GetSize("Image1").Width -3,Image.GetSize("Image1").Height);
Image.SetPos("Image1",Image.GetPos("Image1").X+3, Image.GetPos("Image1").Y);
end
end

if e_ID == 22 then
if Image.GetPos("bal1").Y >= Image.GetPos("cib1").Y then
Page.StopTimer(22);
elseif Image.GetPos("bal1").Y + 40 >= Image.GetPos("bar3").Y
and Image.GetPos("bal1").X > Image.GetPos("bar3").X 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,5 do Image.SetPos("bal"..i, pos1[i].X, pos1[i].Y) ; end
for i=1,6 do Image.SetPos("Image"..i, pos2[i].X, pos2[i].Y) ; end
for i=1,6 do Image.SetSize("Image"..i,old[i].Width ,old[i].Height); end
for i=1,5 do Image.SetPos("bar"..i, bars2[i].X, bars2[i].Y) ; end

else
Image.SetPos("bal1", Image.GetPos("bal1").X , Image.GetPos("bal1").Y+3);
Image.SetSize("Image2",Image.GetSize("Image2").Width ,Image.GetSize("Image2").Height-3);
Image.SetPos("Image2",Image.GetPos("Image2").X, Image.GetPos("Image2").Y+3);
end
end

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

if e_ID == 2 then
if Image.GetPos("bal2").Y >= 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").Y + 40 >= Image.GetPos("bar2").Y and Image.GetPos("bal2").Y + 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,5 do Image.SetPos("bal"..i, pos1[i].X, pos1[i].Y) ; end
for i=1,6 do Image.SetPos("Image"..i, pos2[i].X, pos2[i].Y) ; end
for i=1,6 do Image.SetSize("Image"..i,old[i].Width ,old[i].Height); end
for i=1,5 do Image.SetPos("bar"..i, bars2[i].X, bars2[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,5 do Image.SetPos("bal"..i, pos1[i].X, pos1[i].Y) ; end
for i=1,6 do Image.SetPos("Image"..i, pos2[i].X, pos2[i].Y) ; end
for i=1,6 do Image.SetSize("Image"..i,old[i].Width ,old[i].Height); end
for i=1,5 do Image.SetPos("bar"..i, bars2[i].X, bars2[i].Y) ; end
else
Image.SetPos("bal2", Image.GetPos("bal2").X , Image.GetPos("bal2").Y+3);
Image.SetSize("Image3",Image.GetSize("Image3").Width ,Image.GetSize("Image3").Height-3);
Image.SetPos("Image3",Image.GetPos("Image3").X, Image.GetPos("Image3").Y+3);
end
end

--------balle 3 --------------
if e_ID == 3 then
if Image.GetPos("bal3").X <= 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,5 do Image.SetPos("bal"..i, pos1[i].X, pos1[i].Y) ; end
for i=1,6 do Image.SetPos("Image"..i, pos2[i].X, pos2[i].Y) ; end
for i=1,6 do Image.SetSize("Image"..i,old[i].Width ,old[i].Height); end
for i=1,5 do Image.SetPos("bar"..i, bars2[i].X, bars2[i].Y) ; end
else
Image.SetPos("bal3", Image.GetPos("bal3").X-3 , Image.GetPos("bal3").Y);
Image.SetSize("Image4",Image.GetSize("Image4").Width-3 ,Image.GetSize("Image4").Height);
end
end
---------balle 4 ---------------
if e_ID == 4 then
if Image.GetPos("bal4").X <= Image.GetPos("cib4").X then
Page.StopTimer(4);
Image.SetPos("bar2",bars[2].X, bars[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,5 do Image.SetPos("bal"..i, pos1[i].X, pos1[i].Y) ; end
for i=1,6 do Image.SetPos("Image"..i, pos2[i].X, pos2[i].Y) ; end
for i=1,6 do Image.SetSize("Image"..i,old[i].Width ,old[i].Height); end
for i=1,5 do Image.SetPos("bar"..i, bars2[i].X, bars2[i].Y) ; end
else
Image.SetPos("bal4", Image.GetPos("bal4").X-3 , Image.GetPos("bal4").Y);
Image.SetSize("Image5",Image.GetSize("Image5").Width-3 ,Image.GetSize("Image5").Height);
end
end
------------balle 5 ------------
if e_ID == 5 then
if Image.GetPos("bal5").Y >= Image.GetPos("cib5").Y then
Page.StopTimer(5);
Image.SetPos("bar2", bars[2].X, bars[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").X , Image.GetPos("bal5").Y+3);
Image.SetSize("Image6",Image.GetSize("Image6").Width ,Image.GetSize("Image6").Height-3);
Image.SetPos("Image6",Image.GetPos("Image6").X, Image.GetPos("Image6").Y+3);
end
end

احفظ العمل ثم معاينة
سيظهر على هذا الشكل
https://b.top4top.net/p_691l088l3.gif
بالتوفيق

فرح صالحي
22-11-2017, 04:03 PM
شكرا ارجو انك نجحت معك الفكرة

في الوقت الحالي مازلت لم اجرب عند توفرالوقت سوف احاول وامدك بالنتيجة ان شاء الله

فرح صالحي
22-11-2017, 09:13 PM
مباشرة اثناء المحاولة الاولى
https://c.top4top.net/p_691f9ax31.png

ياسرهتهت
23-11-2017, 12:49 AM
بسم الله الرحمن الرحيم
ما شاء الله تبارك الرحمان
ابداع وتميز استاذ عبد الهادي
موفق بإذن الله ... لك مني أجمل تحية .
:abc_152::abc_152::abc_152:
:abc_152::abc_152:
:abc_152:

عبد الهادي بهاب
23-11-2017, 08:57 AM
بسم الله الرحمن الرحيم
ما شاء الله تبارك الرحمان
ابداع وتميز استاذ عبد الهادي
موفق بإذن الله ... لك مني أجمل تحية .
:abc_152::abc_152::abc_152:
:abc_152::abc_152:
:abc_152:

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

عبد الهادي بهاب
23-11-2017, 09:04 AM
مباشرة اثناء المحاولة الاولى
https://c.top4top.net/p_691f9ax31.png

ضه لنا الملف النفتوح

فرح صالحي
23-11-2017, 01:33 PM
هذا الملف المفتوح

عبد الهادي بهاب
24-11-2017, 12:04 PM
هذا الملف المفتوح

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

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

يوسف البراهيم
14-12-2017, 03:28 AM
الله يعطيك العافية