欢迎来到天天文库
浏览记录
ID:22370454
大小:57.50 KB
页数:5页
时间:2018-10-28
《flash制作空战游戏(三)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Flash制作空战游戏(三) 三、代码控制 1.回到主场景,把第一个图层改名为“start”,在第一帧中插入关键帧,帧动作为: functionclean(){ for(iin_root){ _root[i].removeMovieClip(); } } _root.clean(); stop(); clean函数用来删除所有多余的影片剪辑,它的功能在第一次运行时没有作用,而在游戏运行后,“plane”的生命值为零时返回这一帧,如果没有clean函数,将出现
2、无数个被复制的影片剪辑。 2.把“start”按钮和“exit”按钮拖入场景中,“start”按钮的动作脚本为 on(release){//释放鼠标时进入第三帧,开始游戏 gotoAndPlay(3); } “exit”按钮的动作脚本为 on(release){//释放鼠标时,退出游戏 fsmand("quit","1"); } 3.添加第二层,命名为“victor”,在该层第二帧中插入关键帧,在场景中用文字工具写入“youyNumber=5 //每次画面中出现五个敌人
3、 for(i=0;i<enemyNumber;i++){//如果画面中敌人数小于五,则复制出敌人的影片剪辑 duplicateMovieClip("enemy","ney”,并分别在第三帧插入关键帧。选中“plane”层的第三帧,把“plane”拖入,剪辑名称为“ship”。选中“enemy”层的第三帧,把“enemy”和“ball”剪辑拖入,剪辑名称分别为“enemy”和“enemylaser”。 右击“plane”剪辑,在动作面板里写入代码: onClipEvent(load)
4、{ //载入时进行初始化 speed=6; sy=_y; ang=0; } onClipEvent(enterFrame){ _y=sy+4*Math.cos(ang+=0.092);//用cos函可以是飞机有在空中飘动的效果 c=_root.score; //给c变量赋值,初试状态为“0” if(c>=500){ //如果c的值(得分)大于500,则胜利结束游戏 _root.gotoAndStop(2); }
5、 if(_root.life<=0){ //如果生命值小于0,则重新开始游戏或退出 _root.gotoAndStop(1); } //当玩家按下上、下、左、右方向键时,飞机可以移动 if(Key.isDoovie方法是从库中直接调用复制影片剪辑“fire”,它的标识符为“laser”。 _root["sparo"+shotCount]._x=this._x+(_y”剪辑,在“动作”面板
6、里设置代码 onClipEvent(load){ sy=random(400)+10;//取随机数 functionreset(){ ship1.gotoAndStop(1); speed=random(10)+2;//敌机的飞行速度是一个随机数 _y=random(300)+_height;//敌机的初始y坐标取随机数12下一页[感谢阅读这篇文章,..,]_x=550+_y; _root.firePoe){ if(this.ship
7、1._currentframe==1){//敌机剪辑在第一帧 _y=sy+speed*Math.cos(speed+=0.032);//敌机飞行时有浮动的效果 if(this.hitTest(_root.ship)){//如果该剪辑与战斗机相撞 ship1.gotoAndStop(2);//敌机爆炸 _root.ship.play(); _root.life-=10;//生命值减10 } if(random(_root.fir
8、ePoyLaser,"num"+Count,depth); //炮弹的初始坐标就是敌机当前所在位置的坐标 _root["num"+Count]._x=this._x-40 _root["num"+Count]._y=this._y } } _x-=speed if(_x<-10) {reset()} }上一页12[感谢阅读这篇文章,..,]
此文档下载收益归作者所有