ACT游戏基础-键盘控制人物(走、跑攻击) |
| 作者:佚名 来源:闪吧 作者: cmm 更新:2007-1-13 20:43:50 错误报告 我要投稿 |
点击浏览该文件
点击浏览该文件 以下是人物MC的主要代码
onClipEvent (load) { var mm=0; //定义当前行动 var st=0;//定义当前状态 var sy=_y;//不要也可以 var ang=0;//同上 } onClipEvent (enterFrame) { //呵呵,这是产生一种飘渺的感觉,一般在飞机游戏中用 _y = sy + 2 * Math.cos(ang+=0.092);//不要也可以 if(_x>525){_x=-20;}//限定x移动范围 else if(_x<-20){_x=490;} if (st==0 and Key.isDown(65)){//按键处理 if (ot<15){ mm=2, st=2,_root.AD="向左跑!MM="+mm+" 状态值ST="+st;} if(ot>=15) {//记时器如果FPS比较大就要改大点,否着不会实现跑 ot = 0;//记时器为零 mm=1; st=1; _root.AD="向左走!MM="+mm+" 状态值ST="+st; trace("st"+st);} }else if (!Key.isDown(65) and !Key.isDown(68)) { mm=0; st=0; _root.AD="ACT 游戏人物行动演示 BY ACLOUD " } ot++; if(mm==1){ _xscale=-Math.abs(100);//反转图象 this.gotoAndPlay("走"); _x-=5;//左走 trace("向左走!mm="+mm)}; if(mm==2){ _xscale=-Math.abs(100); this.gotoAndPlay("跑"); _x-=30; trace("向左跑!mm="+mm);} //方向右 if (st==0 and Key.isDown(68) ){ if (ot<15){ mm=4, st=4,_root.AD="向右跑!MM="+mm+" 状态值ST="+st;} if(ot>=15) { ot = 0; mm=3; st=3; _root.AD="向右走!MM="+mm+" 状态值ST="+st;} }else if (!Key.isDown(68) and !Key.isDown(65) ) { mm=0; st=0; _root.AD="ACT 游戏人物行动演示 BY ACLOUD " } ot++; if(mm==3){ _xscale=Math.abs(100); this.gotoAndPlay("走"); _x+=5; trace("向右走!mm="+mm)}; if(mm==4){ _xscale=Math.abs(100); this.gotoAndPlay("跑"); _x+=30; trace("向右跑!mm="+mm);} if(mm==0 && Key.isDown(74) && mv==0){//攻击 this.gotoAndPlay("攻击2");} if(mm==0 && Key.isDown(75) && mv==0){//攻击 this.gotoAndPlay("攻击1");}
} FPS是OX的,有问题找他。其他的是修饰而已,反正闲着也是闲着。顺便放了个集体照。呵呵……(感谢★灵翼☆提示,也多亏OX的双击键那个例子,偶稍改了一下。)
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |