السلاااام عليكم


ذهبت لصديق اليوم وجدت بجهازه مجموعة دروووس للفلاش طبعا انا شوفت الدروس



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


مع الدروس الدروس كثيرة حاولت ارفعها مضغوطة بالمرفقات لكن حجمها اكثر من 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
&#91;"gun"+depthcount&#93;._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>


::::::::::::::::::::::

هذا كل شيء

وأرجو أن يستفيد منها الجميع


تحياتي




©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©