السلاااام عليكم
ذهبت لصديق اليوم وجدت بجهازه مجموعة دروووس للفلاش طبعا انا شوفت الدروس
ما قدرت استحمل جريت على البيت جبت الهارد تبعي وحملت برنامج الفلاش
مع الدروس الدروس كثيرة حاولت ارفعها مضغوطة بالمرفقات لكن حجمها اكثر من 400
ميجا قلت اضعها لكم درس مفصل درس مفصل هنا
واول درس مفصل عجبني
هذا الدرس مفصل تفضلو ا
اليوم أحمل لكم مجموعة من الحركات التي تعتمد على الأكشن سكريب
والتي تشتخدم لعمل الألعاب
::: الفهرس :::
1/ التحريك بواسطة الأسهم(الكيبورد).
2/ صنع جدران علشان الشكل لايخرج عن المشهد.
3/ جعل الشكل يطلق رصاصة او اكثر لمدى محدود.
4/ جعل الأعداء يموتون عند ملامستهم الرصاصة.
5/ وضع نقطة او اكثر عند موت العدو.
6/ إضافة عداد تنازلي للمرحلة (اختياري).
****************************************
نبدأ
التحريك بواسطة الأسهم(الكيبورد).
افتح ملف جديد ثم تقوم برسم الشكل المراد(مدفع...الخ) ثم تحديد الشكل والنقر على
واعطه اسم في Instance name: مثلاً ship
ثم اذهب الى الأكشن واكتب هذا السكربت
رمز PHP:
<code style="white-space:nowrap"> <code> onClipEvent (enterFrame){
if (Key.isDown(Key.RIGHT)) {
_root.ship._x =(this._x+20);
}
}
</code> </code>
هذا السكربت لتحريك الشكل جهة اليمين والقيمة 20 يمكن تغييرها
:::
رمز PHP:
<code style="white-space:nowrap"> <code> onClipEvent (enterFrame){
if (Key.isDown(Key. LEFT)) {
_root.ship._x =(this._x-20);
}
}
</code> </code>
هذا السكربت لتحريك الشكل جهة اليسار.
رمز PHP:
<code style="white-space:nowrap"> <code> onClipEvent (enterFrame){
if (Key.isDown(Key. UP)) {
_root.ship._y =(this._y-20);
}
}
</code> </code>
هذا السكربت لتحريك الشكل الى اعلى.
:::
رمز PHP:
<code style="white-space:nowrap"> <code> onClipEvent (enterFrame){
if (Key.isDown(Key. DOWN)) {
_root.ship._y =(this._y+20);
}
}
</code> </code>
هذا السكربت لتحريك الشكل الى اسفل.
:::
الأن نقوم بصنع جدران علشان الشكل لايخرج عن المشهد.
نقوم بعمل الدرس مفصل على فلم مقاس 400×550 اي الأفتراضى للعمل
اسخدم ادأة المربع وقم برسم مربع على نافذة المشهد ولكن من دون الوان ثم قم برسم الشكل المراد تحريكه واكتب
السكربت الذي في الأعلى لكي يتحرك وبعدها قم بكتابة سكربت الجدران :
رمز PHP:
<code style="white-space:nowrap"> <code> onClipEvent (enterFrame){
if (_root.ship._x<=95) {
root.ship._x=95; _
}
</code> </code>
الجدار الأيسر
:::
رمز PHP:
<code style="white-space:nowrap"> <code> if (_root.ship._x>=480) {
root.ship._x=480; _
}
</code> </code>
الجدار الأيمن
:::
رمز PHP:
<code style="white-space:nowrap"> <code> if (_root.ship._y<=270) {
root.ship._y=270; _
}
</code> </code>
السقف
:::
رمز PHP:
<code style="white-space:nowrap"> <code> if (_root.ship._y>=364) {
root.ship._y=364; _
}
}
</code> </code>
الجدار الأرضي
:::
جعل الشكل يطلق رصاصة او اكثر لمدى محدود
نكمل على نفس العمل الأن تقوم برسم رصاصة وتنقر على f8 وتذهب الى خصائصها
وتعطيها الأسم هذا gun الأن
تذهب الى ship الى الأكشن وتضع هذا السكربت
رمز PHP:
<code style="white-space:nowrap"> <code> onClipEvent (load){
moveSpeed = 25;
_root.gun._visible = false;
guns = 1;
maxguns = 5;
depthcount = 5;
}
onClipEvent (enterFrame){
{((if (Key.isDown(Key.CONTROL) and (guns<=maxguns
guns++;
;(_root.gun.duplicateMovieClip("gun"+depthcount, depthcount
root["gun"+depthcount]._visible = true;_
;++depthcount
if (depthcount>maxguns){
depthcount = 1;
}
}
</code> </code>
الأن الرصاصه(gun) تكتب السكربت التالي:
رمز PHP:
<code style="white-space:nowrap"> <code> onClipEvent (load){
gunspeed = 20;
this._y = _root.ship._y-45;
this._x = _root.ship._x;
}
onClipEvent (enterFrame){
{("if (this._name != "gun
this._y -= gunspeed;
{(if (this._y<-40
--_root.ship.guns
;()this.removeMovieClip
}
}
</code> </code>
:::
جعل الأعداء يموتون عند ملامستهم الرصاصة
نكمل على الدروس السابقة ونضع على المشهد العدو الذي تريد(وحش...الخ)
وتنقر على f8 وتعطيه الأسم bad وتنقر عليه مرتين تقوم بإضافة فرم جديد ويكون فارغ
وتذهب الى خصائصه الى Frame Label وتعطيه الأسم die
وتذهب الى الفرم الأول وتضع في الأكشن Stop;
الأن تعود الى المشهد الرئيسي وتذهب الى الرصاصة الى الأكشن وتكتب السكربت التالي:
رمز PHP:
<code style="white-space:nowrap"> <code> onClipEvent (enterFrame){
if (_root.gun, hitTest(_root.bad)){
;("root.bad.gotoAndStop("die_
}
}
</code> </code>
:::
وضع نقطة او اكثر عند موت العدو
نكمل تذهب الى المشهد وتضع نص ديناميكي وتعطيه الأسم score
وتذهب الى الرصاصة الى الأكشن وتكمل من بعد السطر التالي:
رمز PHP:
<code style="white-space:nowrap"> <code> ;("root.bad.gotoAndStop("die_
</code> </code>
وتكتب:
رمز PHP:
<code style="white-space:nowrap"> <code> _root.score =Number (_root.score+6);
</code> </code>
:::
إضافة عداد تنازلي للمرحلة (اختياري)
نكمل على الدروس ننقر على ctrl+f8 ونضع فيه نص ديناميكي ونذهب الى خصائصه
الى var ونعطيه الأسم a وندخل
داخل مربع النص ونضع الرقم 100
اذهب الى المشهد الرئيسي الى المكتبة واستدعي النص من المكتبة وبعدها ادخل الى الأكشن واكتب التالي:
رمز PHP:
<code style="white-space:nowrap"> <code> {(onClipEvent (enterFrame
a = Number(a-1)
}
</code> </code>
واذا اردت انهاء اللعبة عند انتهاء الوقت اولأ
تضع فرم جديد عليه نهاية اللعبة مثلاً تكتب game over
ثم تعود الى الأكشن وتكتب:
رمز PHP:
<code style="white-space:nowrap"> <code> if (a<=10){
;(gotoAndStop(2
}
</code> </code>
::::::::::::::::::::::
هذا كل شيء
وأرجو أن يستفيد منها الجميع
تحياتي
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©