הנה התוצאה:
http://silvup.net/images/1179820115.swf
טוב אז בואו נתחיל:
1. פתחו מסמך חדש ותלחצו SHIFT+F2.
2.יפתח לכם חלון בשם: scene. צרו עוד 2 scene על ידי לחיצה על הכפתור שנראה כמו +.
3. עכשיו בואו ניתן לscenes שמות. ל-scene הראשון תנו את השם הבא:
ציטוט:
menu
לשני את השם הבא:
ציטוט:
Game
חשוב לכתוב את ה-Game עם אות גדולה אחרת זה לא יפעל!
ולשלישי את השם הבא:
ציטוט:
gameover
4. עכשיו תעמדו על הscene הראשון. ותוסיפו לו לחצן שקוראים לו Play או כל דבר אחר. תהפכו אותו ללחצן (F8 בחירה ב-bottun ו-OK.) תנו לו את הקוד הבא:
ציטוט:
on (release) {
gotoAndStop("Game", 1);
}
5. על הפריים הראשון ב-scene שקראנו לו menu תשימו את הקוד הבא:
ציטוט:
stop();
6. תלחצו SHIFT+F2 ותכנסו לscene השני. (זה שקראנו לו Game) ותוסיפו שתי שכבות ב-scene שקראנו לו game.
לשכבה הראשונה מלמעלה תתנו את השם:
ציטוט:
control
לשנייה תנו את השם:
ציטוט:
enemy
ולאחרונה שנמצאת הכי למטה תנו את השם:
ציטוט:
player
7. עכשיו בואו נעבור ל-Action של הפריימים. לפריים הראשון ב-control תנו את הקוד:
ציטוט:
stop();
numenemies=3; //number of enemies
shotcount=1;
for (i=1; i<=numenemies; i++)
{
enemy.duplicateMovieClip( "enemy"+i, i+100,enemy );
var en = _root["enemy"+i];
en.time = getTimer()+random(2000);
}
function shoot ()
{
for (i=1; i<=numenemies; i++)
{
var ent = _root["enemy"+i];
// check if time for this enemy is out
if (ent.time<getTimer())
{
// create bullet
_root.fire.duplicateMovieClip("fire"+shotcount, shotcount+3000);
var shot = _root["fire"+shotcount];
// place in the enemy coordinates
shot._x = ent._x;
shot._y = ent._y;
// add 2 seconds to time
ent.time = getTimer()+2000;
shotcount++;
if(shotcount>30)
{
shotcount=1;
}
}
}
}
_root.score=0
לפריים הראשון ב-player תנו את הקוד:
ציטוט:
shotlevel=1;
ולאחר מכן תנעלו את השכבה control.
7.עכשיו תעמדו על השכבה של השחקן ותציירו חללית שפונה לצד ימין. שלי נראתה כך:
תהפכו את החללית ל-Movie clip ותנו לה ב-name את השם:
ציטוט:
ship
וב-Instance Name תנו לה את השם:
ציטוט:
ship
8. לאחר מכן תנו לה את הקוד הבא:
ציטוט:
onClipEvent(load)
{
this.speed=11;
this.shotcount=1;
this.isshot=0;
}
onClipEvent(enterFrame)
{
if(Key.isDown(Key.LEFT))
{
if(this._x>20)
{
this._x-=this.speed;
}
}
if(Key.isDown(Key.RIGHT))
{
if(this._x<530)
{
this._x+=this.speed;
}
}
if(Key.isDown(Key.UP))
{
if(this._y>20)
{
this._y-=this.speed;
}
}
if(Key.isDown(Key.DOWN))
{
if(this._y<380)
{
this._y+=this.speed;
}
}
if(Key.isDown(Key.SPACE)&&this.isshot==0)
{
this.isshot=1;
_root.shot.duplicateMovieClip( "shot"+ this.shotcount, this.shotcount+4000 );
this.shotcount++;
if(_root.shotlevel>=2)
{
this.shotcount++;
_root.shot.duplicateMovieClip( "shot"+ this.shotcount, this.shotcount+600 );
_root["shot"+this.shotcount].yspeed=7;
}
}
else
{
this.isshot=0;
}
}
9. לאחר מכן ציירו את הכדור שהחללית תירה. תהפכו אותו לMovie clip ותנו לו את השם shot.
לאחר מכן תנו לו את ה-Instanse Name בשם shot גם.
10.תנו לו את הקוד הבא:
ציטוט:
onClipEvent(load)
{
if(this._name=="shot")
{
this._visible=false;
}
else
{
this._visible=true;
}
this.speed=25;
this._x=_root.ship._x+10;
this._y=_root.ship._y;
}
onClipEvent(enterFrame)
{
this._y+=this.yspeed;
if(this._x>580)
{
this.removeMovieClip();
}
this._x+=this.speed;
for(i=1;i<=_root.numenemies;i++)
{
if(this.hitTest(_root["enemy"+i]) && this._name<>"shot")
{
_root["enemy"+i].reset();
_root.score+=1
}
}
}
ועכשיו תבדקו אמורה להיות לכם חללית שיורה וזזה עם החצים. (היירייה היא עם רווח)
11. עכשיו לנקודות. תוסיפו תיבת טקסט דינמית ותנו לה ב-Var את השם:
ציטוט:
score
12. עכשיו בואו ניצור אויבים. תציירו את האויבים שלנו שיגיעו מצד ימין. תציירו רק אויב אחד הקודים שרשמנו כבר ידאגו להכפיל אותו. תעמדו על השכבה enemy ותציירו אויב. תהפכו את האויב לMovie clip ותנו לו את השם:
ציטוט:
enemy
ותנו לו גם Instanse Name:
ציטוט:
enemy
13.תנו לו את הקוד הבא:
ציטוט:
onClipEvent(load)
{
function reset()
{
if(this._name=="enemy")
{
this._visible=false;
}
else
{
this._visible=true;
}
this._x=random(200)+550;
this._y=random(400);
this.speed=random(6)+2;
}
this.reset();
}
onClipEvent(enterFrame)
{
this._x-=this.speed;
if(this._x<-50)
{
this.reset();
}
if(this.hitTest(_root["ship"])&&this._name<>"enemy")
{
_root.gotoAndPlay("gameover");
_root["ship"].removeMovieClip();
for(i=1;i<=3;i++)
{
_root["enemy"+i].removeMovieClip();
}
}
}
14.עכשיו תציירו את הכדורים שתירה החללית של האויב. תהפכו את הכדור לMovie clip. תנו לו את השם:
ציטוט:
fire
ואת ה-Instanse Name:
ציטוט:
fire
15. עכשיו תציירו סתם משהו ותהפכו אותו לMovie clip. לאחר מכן תנו לו את הקוד הבא:
ציטוט:
onClipEvent(enterFrame)
{
_root.shoot();
}
חשוב לציין לשים אותו מחוץ לבמה. אנחנו לא רוצים פשלות.
16. לכדור שירה האויב תנו את הקוד הבא:
ציטוט:
onClipEvent(load)
{
if(this._name=="fire")
{
this._visible=false;
}
else
{
this.visible=true;
}
this.speed=25;
}
onClipEvent(enterFrame)
{
this._x-=this.speed;
if(this._x<-20)
{
this.removeMovieClip();
}
if(this.hitTest(_root["ship"])&&this._name<>"fire")
{
for(i=1;i<=_root.numenemies;i++)
{
_root["enemy"+i].removeMovieClip();
}
_root["ship"].removeMovieClip();
_root.gotoAndPlay("gameover");
}
}
17. עכשיו תציירו משהו שיחזק את היריות של השחקן מתי שהוא נוגע בו. אני ציירתי עיגול ירוק שכתוב עליו +1.
תהפכו אותו ל-Movie clip ותנו לו את ה-Instance Name הבא:
ציטוט:
powerup
18. תנו לו את הקוד הבא:
ציטוט:
onClipEvent(load)
{
function reset()
{
this._x=random(300)+800;
this._y=random(300)+50;
this.xspeed=8;
}
this.reset();
}
onClipEvent(enterFrame)
{
this._x=this._x-this.xspeed;
this.counter++;
if(this.hitTest(_root["ship"]))
{
if(_root.shotlevel==1)
{
_root.shotlevel+=1
}
this.reset()
}
}
18. תלחצו F2+SHIFT ותכנסו לscene שקראנו לו gameover. תכתבו שם game over וכל שתות אחרת שתרצו שתקרה מתי שהוא נפסל.
19. תכינו לחצן שיהיה כתוב בו play again או כל דבר אחר. תהפכו אותו ללחצן על ידי לחיצה על F8 בחירה באפשרות השנייה ו-OK.
20. תנו לו את הקוד הבא:
ציטוט:
on (release) {
gotoAndStop("Game", 1);
}
קרדיט לאתר אחר





ציטוט ההודעה



