أستغفر الله العظيم ... سبحان الله وبحمده



العودة   منتديات داماس > اسطوانة الويندوز الخاصة > ورشة عمل اسطوانات تجميعات البرامج وشروحات ودروس برنامج الاوتوبلاي AutoPlay Media Studio


مواضيع مميزة  


آخر عشرة مواضيع المواضيع النشطة


21-11-2017, 07:49 PM
عبد الهادي بهاب غير متصل
VIP
رقم العضوية: 447434
تاريخ التسجيل: Jan 2014
المشاركات: 589
إعجاب: 91
تلقى 289 إعجاب على 161 مشاركة
تلقى دعوات الى: 17 موضوع
    #1  

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


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

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

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


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


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

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


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

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

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

نسمي الصورة image الكرة الزرقاء bal
تصميم لعبة Rhomb خطوة خطوة

نسمي image الهدف الكرة لببيضاء cib
تصميم لعبة Rhomb خطوة خطوة

المسار وهو صورة image قطعة سوداء image1
تصميم لعبة Rhomb خطوة خطوة

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

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

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

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

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 

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

بالتوفيق





المواضيع المشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
تعلم معي خطوة خطوة باحتراف كيفية عمل الملفات التنصبيبة هدية العيد dalou3at_net مكتبة الدروس المشروحة والمصورة 21 08-09-2016 02:30 PM
°•..•° لأول مرة : أضف ماتريد للكنترول بانل خطوة خطوة وباختيارك الشخصى °•..•° Mada Alien المرحلة الثالثة : إضافة البرامج و الدرايفرات وبعض ملفات الميديا أو الخلفيات 39 24-02-2010 07:05 AM
ويندوز سيرفر وشبكة داخلية خطوة خطوة لتوزيع الانترنت mohdsos إدارة الشبكات و حلول ومشاكل الشبكات 29 04-04-2008 01:00 PM
تورتة الكفتة خطوة خطوة بالصور لعيونكم ابهروا بها ضيوفكم!!! sara الطبخ و إعداد المأكولات 10 30-01-2007 07:10 PM
كتاب تعلم تصنيع أداة أكتف أكس في الفجول بيسك خطوة خطوة saadmd لغات البرمجة 3 08-12-2006 05:16 PM
21-11-2017, 08:11 PM
سعد الدين متصل
المسؤول الفني
رقم العضوية: 3
تاريخ التسجيل: Mar 2003
الإقامة: Türkiye
المشاركات: 40,832
إعجاب: 9,068
تلقى 15,567 إعجاب على 5,204 مشاركة
تلقى دعوات الى: 5085 موضوع
    #2  
جميل جدا واختيار موفق بسم الله ماشاء الله

الله يجزاك الخير يا اخي على كل ما قدمته لنا من وقت ومجهود لايقدر بثمن


21-11-2017, 08:35 PM
mohamed ebrahem غير متصل
الوسـام الماسـي
رقم العضوية: 531434
تاريخ التسجيل: Dec 2014
الإقامة: مصر
المشاركات: 7,637
إعجاب: 1,064
تلقى 1,782 إعجاب على 1,249 مشاركة
تلقى دعوات الى: 67 موضوع
    #3  
ايها الرائع شكرا لك وبارك الله فيك وجزاك خيرا


21-11-2017, 09:02 PM
عبد الهادي بهاب غير متصل
VIP
رقم العضوية: 447434
تاريخ التسجيل: Jan 2014
المشاركات: 589
إعجاب: 91
تلقى 289 إعجاب على 161 مشاركة
تلقى دعوات الى: 17 موضوع
    #4  


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

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

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

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

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


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

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

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

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 وهو موجود في مجموعة اصوات البرنامجذ

  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.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

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

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 
قم بالحفظ ثم معاينة

بالتوفيق

21-11-2017, 09:05 PM
عبد الهادي بهاب غير متصل
VIP
رقم العضوية: 447434
تاريخ التسجيل: Jan 2014
المشاركات: 589
إعجاب: 91
تلقى 289 إعجاب على 161 مشاركة
تلقى دعوات الى: 17 موضوع
    #5  
المشاركة الأصلية كتبت بواسطة سعد الدين 
جميل جدا واختيار موفق بسم الله ماشاء الله

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

21-11-2017, 09:30 PM
عبد الهادي بهاب غير متصل
VIP
رقم العضوية: 447434
تاريخ التسجيل: Jan 2014
المشاركات: 589
إعجاب: 91
تلقى 289 إعجاب على 161 مشاركة
تلقى دعوات الى: 17 موضوع
    #6  


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

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

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

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

Page.StartTimer(1,4); 
و تفس السيناريو السابق في الكشاركة الاولى لكن بالعكس اي ستتقل الكرة يتنافص الفاصلة X ا نفس الشيء نشترط اذا وصلت الكرة الزرقاء 3 الى الهدف 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 
-------------------------------
اذا اصطدمت الكرة الرزقاء 2 بالكرة الزرقاء 3 سيظهر الجسم الاحمر وهنا مدخل شرط في كود الصفحة الثانية اذا كان ترتيب العمودي للكرة اكبر من المرة الزرقاء 2
و فاصلتها اقل من فاصلة الرزقاء 2 يظهر الجسم الاحمر و يخطا اللاعب و نعود من جديد
--------------
لكن يبقى ان نسجل كل مواقع الصور في مصفوفات واحدة بالكرات الزرقاء pos1 و مصفوفة للمسارات pos2 و مصفوفة لحجم المسارات نسميها old
في حدق الصفحة On preload بالكود التالي :
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 
ليصبح الكود اللكي في التايمر هو كالاتي
--------------- 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 

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

21-11-2017, 09:43 PM
عبد الهادي بهاب غير متصل
VIP
رقم العضوية: 447434
تاريخ التسجيل: Jan 2014
المشاركات: 589
إعجاب: 91
تلقى 289 إعجاب على 161 مشاركة
تلقى دعوات الى: 17 موضوع
    #7  
اذا فهمتم الدرس جيدا
مكن تضيف مسارات جديدة
و كرات جديدة
و القضية تبقى فقط التنقل اما X او في Y

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



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

تحياتي

21-11-2017, 10:24 PM
azeba غير متصل
عضو جديد
رقم العضوية: 525225
تاريخ التسجيل: Nov 2014
المشاركات: 8
إعجاب: 3
تلقى 0 إعجاب على 0 مشاركة
تلقى دعوات الى: 0 موضوع
    #8  
اتحفتنا بروعاتك استاذ نتمنى لك مزيدا من التقدم

21-11-2017, 10:35 PM
عبد الهادي بهاب غير متصل
VIP
رقم العضوية: 447434
تاريخ التسجيل: Jan 2014
المشاركات: 589
إعجاب: 91
تلقى 289 إعجاب على 161 مشاركة
تلقى دعوات الى: 17 موضوع
    #9  
المشاركة الأصلية كتبت بواسطة azeba 
اتحفتنا بروعاتك استاذ نتمنى لك مزيدا من التقدم
شكرا لمروركم
نريد تطبيق الدرس ان امكن

21-11-2017, 11:14 PM
Ghost rider غير متصل
VIP
رقم العضوية: 339145
تاريخ التسجيل: Jun 2010
الإقامة: sweden
المشاركات: 2,335
إعجاب: 1,531
تلقى 1,925 إعجاب على 723 مشاركة
تلقى دعوات الى: 181 موضوع
    #10  
ماشاء الله
استاذ وبجداره
بارك الله فيك



21-11-2017, 11:37 PM
عبد الهادي بهاب غير متصل
VIP
رقم العضوية: 447434
تاريخ التسجيل: Jan 2014
المشاركات: 589
إعجاب: 91
تلقى 289 إعجاب على 161 مشاركة
تلقى دعوات الى: 17 موضوع
    #11  
المشاركة الأصلية كتبت بواسطة Ghost rider 
ماشاء الله
استاذ وبجداره
بارك الله فيك
شكرا جزيلا استاذ

سعدت بمروركم الطيب

22-11-2017, 04:21 PM
عبد الهادي بهاب غير متصل
VIP
رقم العضوية: 447434
تاريخ التسجيل: Jan 2014
المشاركات: 589
إعجاب: 91
تلقى 289 إعجاب على 161 مشاركة
تلقى دعوات الى: 17 موضوع
    #12  


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



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

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


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


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

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 الى الخارج اي اخفيناهم

 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
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(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 
احفظ العمل ثم معاينة
سيظهر على هذا الشكل


بالتوفيق

22-11-2017, 05:09 PM
Demscio غير متصل
الوسـام الماسـي
رقم العضوية: 331057
تاريخ التسجيل: Apr 2010
الإقامة: egypt
المشاركات: 3,882
إعجاب: 332
تلقى 5,673 إعجاب على 952 مشاركة
تلقى دعوات الى: 1765 موضوع
    #13  
سؤال هي الاكواد دي بتكتب علي برنامج ايه





22-11-2017, 05:16 PM
عبد الهادي بهاب غير متصل
VIP
رقم العضوية: 447434
تاريخ التسجيل: Jan 2014
المشاركات: 589
إعجاب: 91
تلقى 289 إعجاب على 161 مشاركة
تلقى دعوات الى: 17 موضوع
    #14  
المشاركة الأصلية كتبت بواسطة Demscio 
سؤال هي الاكواد دي بتكتب علي برنامج ايه
في برنامج الاوتوبلاي استودير ميديا
وهو برنامج القسم هذا اساسا


23-11-2017, 04:34 PM
Demscio غير متصل
الوسـام الماسـي
رقم العضوية: 331057
تاريخ التسجيل: Apr 2010
الإقامة: egypt
المشاركات: 3,882
إعجاب: 332
تلقى 5,673 إعجاب على 952 مشاركة
تلقى دعوات الى: 1765 موضوع
    #15  
المشاركة الأصلية كتبت بواسطة عبد الهادي بهاب 
في برنامج الاوتوبلاي استودير ميديا
وهو برنامج القسم هذا اساسا

تمام جدا

 


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

English

Powered by vBulletin® Version
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
The owner and operator of the site is not responsible for the availability of, or any content provided.
Topics that are written in the site reflect the opinion of the author.
جميع ما يُطرح من مواضيع ومشاركات تعبر عن رأي كاتبها ولا تعبر عن رأي مالك الموقع أو الإدارة بأي حال من الأحوال.