السلام عيكم ورحمة الله وبركاته
اليوم أحمل لكم مجموعة من الحركات التي تعتمد على الأكشن سكريب
والتي تشتخدم لعمل الألعاب
::: الفهرس :::
1/ التحريك بواسطة الأسهم(الكيبورد).
2/ صنع جدران علشان الشكل لايخرج عن المشهد.
3/ جعل الشكل يطلق رصاصة او اكثر لمدى محدود.
4/ جعل الأعداء يموتون عند ملامستهم الرصاصة.
5/ وضع نقطة او اكثر عند موت العدو.
6/ إضافة عداد تنازلي للمرحلة (اختياري).
****************************************
نبدأ
التحريك بواسطة الأسهم(الكيبورد).
افتح ملف جديد ثم تقوم برسم الشكل المراد(مدفع...الخ) ثم تحديد الشكل والنقر على
واعطه اسم في 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
}
::::::::::::::::::::::
هذا كل شيء
وأرجو أن يستفيد منها الجميع
تقبلوا مني أجمل التحيـــــــــــــات
اليوم أحمل لكم مجموعة من الحركات التي تعتمد على الأكشن سكريب
والتي تشتخدم لعمل الألعاب
::: الفهرس :::
1/ التحريك بواسطة الأسهم(الكيبورد).
2/ صنع جدران علشان الشكل لايخرج عن المشهد.
3/ جعل الشكل يطلق رصاصة او اكثر لمدى محدود.
4/ جعل الأعداء يموتون عند ملامستهم الرصاصة.
5/ وضع نقطة او اكثر عند موت العدو.
6/ إضافة عداد تنازلي للمرحلة (اختياري).
****************************************
نبدأ
التحريك بواسطة الأسهم(الكيبورد).
افتح ملف جديد ثم تقوم برسم الشكل المراد(مدفع...الخ) ثم تحديد الشكل والنقر على
واعطه اسم في 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
}
::::::::::::::::::::::
هذا كل شيء
وأرجو أن يستفيد منها الجميع
تقبلوا مني أجمل التحيـــــــــــــات