الطريقة
/ التحريك بواسطة الأسهم(الكيبورد).
2/ صنع جدران علشان الشكل لايخرج عن المشهد.
3/ جعل الشكل يطلق رصاصة او اكثر لمدى محدود.
4/ جعل الأعداء يموتون عند ملامستهم الرصاصة.
5/ وضع نقطة او اكثر عند موت العدو.
6/ إضافة عداد تنازلي للمرحلة (اختياري).
****************************************
التحريك بواسطة الأسهم(الكيبورد).
افتح ملف جديد ثم تقوم برسم الشكل المراد(مدفع...الخ)ثم تحديد الشكل والنقر على f8 واعطه اسم في Instance name: مثلاً ship
ثم اذهب الى الأكشن واكتب هذا السكربت
كود:
onClipEvent (enterFrame){
if (Key.isDown(Key.RIGHT)) {
_root.ship._x =(this._x+20);
}
}
هذا السكربت لتحريك الشكل جهة اليمين والقيمة 20 يمكن تغييرها
*
كود:
onClipEvent (enterFrame){
if (Key.isDown(Key. LEFT)) {
_root.ship._x =(this._x-20);
}
}
هذا السكربت لتحريك الشكل جهة اليسار.
*
كود:
onClipEvent (enterFrame){
if (Key.isDown(Key. UP)) {
_root.ship._y =(this._y-20);
}
}
هذا السكربت لتحريك الشكل الى اعلى.
*
كود:
onClipEvent (enterFrame){
if (Key.isDown(Key. DOWN)) {
_root.ship._y =(this._y+20);
}
}
هذا السكربت لتحريك الشكل الى اسفل.
*
*
*
الأن نقوم بصنع جدران علشان الشكل لايخرج عن المشهد.
نقوم بعمل الدرس على فلم مقاس 400×550 اي الأفتراضى للعمل
اسخدم ادأة المربع وقم برسم مربع على نافذة المشهد ولكن من دون الوان ثم قم برسم الشكل المراد تحريكه واكتب السكربت الذي في الأعلى لكي يتحرك وبعدها قم بكتابة سكربت الجدران :
كود:
onClipEvent (enterFrame){
if (_root.ship._x<=95) {
root.ship._x=95; _
}
الجدار الأيسر
كود:
*
if (_root.ship._x>=480) {
root.ship._x=480; _
}
الجدار الأيمن
كود:
if (_root.ship._y<=270) {
root.ship._y=270; _
}
السقف
كود:
if (_root.ship._y>=364) {
root.ship._y=364; _
}
}
الجدار الأرضي
*
*
*
جعل الشكل يطلق رصاصة او اكثر لمدى محدود
نكمل على نفس العمل الأن تقوم برسم رصاصة وتنقر على f8 وتذهب الى خصائصها وتعطيها الأسم هذا gun الأن تذهب الى ship الى الأكشن وتضع هذا السكربت
كود:
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;
}
}
الأن الرصاصه(gun) تكتب السكربت التالي:
كود:
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
}
}
جعل الأعداء يموتون عند ملامستهم الرصاصة
نكمل على الدروس السابقة ونضع على المشهد العدو الذي تريد(وحش...الخ)
وتنقر على f8 وتعطيه الأسم bad وتنقر عليه مرتين تقوم بإضافة فرم جديد ويكون فارغ وتذهب الى خصائصه الى Frame Label وتعطيه الأسم die
وتذهب الى الفرم الأول وتضع في الأكشن Stop;
الأن تعود الى المشهد الرئيسي وتذهب الى الرصاصة الى الأكشن وتكتب السكربت التالي:
كود:
onClipEvent (enterFrame){
if (_root.gun, hitTest(_root.bad)){
;("root.bad.gotoAndStop("die_
}
}
وضع نقطة او اكثر عند موت العدو
نكمل تذهب الى المشهد وتضع نص ديناميكي وتعطيه الأسم score
وتذهب الى الرصاصة الى الأكشن وتكمل من بعد السطر التالي:
;("root.bad.gotoAndStop("die_
وتكتب:
_root.score =Number (_root.score+6);
*
*
*
إضافة عداد تنازلي للمرحلة (اختياري)
نكمل على الدروس ننقر على ctrl+f8 ونضع فيه نص ديناميكي ونذهب الى خصائصه الى var ونعطيه الأسم a وندخل داخل مربع النص ونضع الرقم 100
اذهب الى المشهد الرئيسي الى المكتبة واستدعي النص من المكتبة وبعدها ادخل الى الأكشن واكتب التالي:
كود:
{(onClipEvent (enterFrame
a = Number(a-1)
}
واذا اردت انهاء اللعبة عند انتهاء الوقت اولأ
تضع فرم جديد عليه نهاية اللعبة مثلاً تكتب game over
ثم تعود الى الأكشن وتكتب
كود:
if (a<=10){
;(gotoAndStop(2
}
*
*
*
مع تمنياتي لكم بالتوفيق
ملاحظة: اتمنى المساعدة من الأعضاء لتطوير هذا الكتاب.
واذا كان هناك اي سؤال او استفسار ضع سؤالك في المنتدى لكي الجميع يشارك.