مشاهدة النسخة كاملة : مختبر شباب سفن الاول


الشهاب الحارق
25 Jan 2002, 12:29 AM
شرح طريقة تحريك الكرة

width = 550 height = 400



حمل المثال الاول (http://mypage.ayna.com/highspy/ActionScript/balls.fla)

قبل ان ابدأ تذكر فقط ان اي رقم يضرب في واحد يساوي نفس الرقم المضروب

وإذا كان سالب واحد فإنه يعطي نفس الناتج ولكن بالسالب اي

5 * 1 = 5 طيب و 5 * -1 = -5 ومن هذا المنطق سوف نستطيع ارجاع الكرة الى مكانِ انطلاقها

في الفريم الاول اكتب هذا الكود

speed = 6; متغير اسمه speed يحوي القيمة 6 او اي قيمة ترغب بوضعها فيه لكن

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

على سبيل المثال السرعة 1000 .


في الفريم الثاني ضع هذا الكود

ball._x = x;


x += speed;

if (x >=550 or x<=0) {

speed *= -1;


}

اولاً لابد ان تعلم ان الإحداث السيني هو حركة الجسم من اليمين الى اليسار او العكس فهذ ا العمل يسمى

بالإحداث السيني اي العرضي الحركة العرضية لا الطولية لانه الحركة الطولية هي الإحداث الصادي

والتي تتحرك من الاعلى الى الاسفل او العكس

راجع درس Samuel Wan1 (http://www.saven7.com/vb/showthread.php?s=&threadid=4044)


ثم اخبرنا مترجم فلاش اي flash compiler ان القيمة في x والتي حتى الان لا تساوي شيئ

بأنها تساوي نفسها والقيمة الموجودة في السرعة x += speed;

لانه هذا الرمز += تعني ان x تساوي x زائد speed

ثم وضعنا شرط وهو عطفً على عرض الفلم اذا كان عرض الفلم 550 فإنه

على اقصى يدك اليمنا وانت مقابل الشاشة انظر الى يدك اليمنا في وضعك هذا

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

وقد وضعنا هذا الشرط if (x >=550 or x<=0)

إذا ما وصل الجسم وفي مثالنا هذا الكرة الى الرقم 550 او إلى الرقم صفر فإن قيمة السرعة تساوي نفسها

ولكن بالسالب فسيتحول إتجاه الكره في الإتجاه المعاكس وبهذه الطريقة نستطيع حصر الكرة في المكان الذي

خصصنا لها اياه عن طريق هذا الشرط

ثم اننا شرحنا هذا النص البرمجي speed *= -1;

في الاعلى اي ان العدد المضروب في واحد يساوي نفسه وان كان سالباً سيكون نفسه سالباً

اما النص الدينامكي الاول الموجودة في الاسفل يعرض لنا قيمة المتغير x

والأخر يعرض لنا قيمة سرعة المتغير speed

تطوير العمل في مختبر شباب سفن إلى حركة واقعية

width = 550 height = 400

ضع في الفريم الثاني هذا الكود

ball._rotation = r;

هو ان استدارة الكرة تساوي المتغير r

ثم بعده اكتب هذا الكود في نفس الفريم

r += speed; وهو حالة حال المتغير x يأخذ قيمته وقيمت السرعة speed




حمل المثال الثاني (http://mypage.ayna.com/highspy/ActionScript/balls1.fla)




هذا والله اعلى واعلم السلام عليكم

عافور الهندسة
25 Jan 2002, 08:24 AM
الف شكر لك اخي الحبيب على الدرس الحلو بس اللي حيرني كيف الكرة قاعد تتحرك من اي امر
ما اشووووف في مووووشن او امر يقول للكرة انها تتحرك ممكن توضح لي اكثر ما عليك امر

ومشكككككككككوووووووووووووووووور الف شكر ويعطيك الف عافية
ومنتظرين الجديد منك دائما

zizGraphics
25 Jan 2002, 10:27 AM
يعطيك الف عافية

وننتضر منك المزيد;)

الشهاب الحارق
25 Jan 2002, 05:30 PM
السلام عليكم

أنت الجديد و المفيد بالنسبةِ لنا يا عافور

أنا أعرف يا عزيزي أن الحركة غامضة نوعا ما أوضح لك اكثر إنشاء الله

تخيل أن الكرة أمامك وان أمامك سلم المطار المتحرك تعرف أن المطارات كبيرة

ولذلك خصصت لها هذه السلالم المتحركة .

وتخيل أن هذا السلم يتحرك من اليمين إلى الشمال يعني عرضي ليس بالطول

فهو مثله كمثل عبور المشاة في الشارع

أو مثل التل فريك الذي ينقل الناس في الجبال من وإلى واضح !


سرعة الكرة صفر حتى الآن ولكن لو وضعنا الكرة على السلم ستكون سرعة الكرة تساوي سرعة السلم

فسنسمي السلم بالمتغير x وكي نعرف سرعة هذا السلم كتبنا في الفريم الأول أن السرعة تساوي 6

خلاص وصلنا إذا ما دام أن لدينا السرعة والكرة والسلم فهي واضحة الآن

حيث أن سرعة الكرة في الاتجاه العرضي تساوي السلم

ball._x = x;
ثم قلنا بعد ذلك

ثم اخبرنا أن سرعة السلم تساوي نفسه مع سرعة متغير السرعة speed

بهذا النص البرمجي x +=speed

وبهذا أصبحت لدينا حركة في الكرة فقط تذكر أننا أردنا تحرك الكرة تحركا سينيا

ثم أن الحركة جاءت من المتغير x يساوي قيمته زائد السرعة فتكون البداية 6 ثم يزيد كلما تحرك الفريم إلى الفريم الثالث وكلما عاد يعود ويزيد في

قيمة المتغير x وبهذا الشكل يكون من
6
12
18
24
30
36
42
48

ثم إذا وصلت الكرة إلى الشرط وهو 550 يبقى الرقم الذي كان يزيد في المتغير x

ولكن قيمة المتغير speed تتغير إلى 6- فكل لفة بالنسبه لمترجم فلاش ينقص 6 من قيمة

المتغير x وكلما نقص سته فإنه بالطبع ينقص من إحداثي السيني للكرة

كلما ذهب المترجم للفلاش إلى الفريم الثالث وعاد يعود وينقص 6 وهكذا نقلص مكان

الكرة اعتمادً على شرطنا هذا من 550 إلى صفر

هذا والله أعلى واعلم

عافور الهندسة
27 Jan 2002, 12:20 PM
الحمد لله كل شيء واضح الحين ويا ليت ما تحرمنا من درووووووسك الحلوة على فكرة انا ماخذ الكورس اللي فات JAVA HOW TO PROGRAM 2 يعني عندي شوية خلفية عن الاكشن سكربت لانه في شغلات كثير تشابهها ومنتظر درووووووووسك على نار حبيبي

الشهاب الحارق
27 Jan 2002, 01:32 PM
السلام عليكم

لا شكر على واجب يا أخواني

عافور عزيزي اضافة لمعلوماتك الغالية ان لغة الــ ActionScript انبثقت من لغة تسمى CAMA

وهذه اللغة اشتقت من الجافا يعني الذي لدية شيئ من الجافا او السي او السي ++

تكون سهل بالنسبتي له اما اقل الناس حظوظً هم اصحاب visual basic و VBA

هذا على حسب معلوماتي المتواضعة في تاريخ الاكشن اسكربت والله اعلى واعلم