CS3作的走,跑,跳,打

<css.shtml' target='_blank' title = 'div视频教程'>div class="codeblock">//参数  
var 落下速度:Number=0;  
var 重力加速度:Number=1;  
var 主角跳动速度:Number=-15;  
var 主角走动速度:Number=4;  
var 主角跑动速度:Number=8;  
//主角状态  
var 主角:MovieClip=小子;  
var 主角左:Number=-主角.scaleX;  
var 主角右:Number=主角.scaleX;  
var 动画:Boolean;  
var 空中:Boolean=true;  
var 被攻击:Boolean;  
var 攻击方式:String;  
var 攻击力量:Number=0;  
var 走:Boolean;  
var 跑:Boolean;  
var 攻击:Boolean;  
var 跳:Boolean;  
//  
var 动作:Object=new Object;  
动作.走=false;  
//按键状态  
var 键盘:Object=new Object;  
//方向键:上W(87),下S(83),左A(65),右D(68)  
//动作键:攻击拳J(74),跳K(75)  
键盘.上=87;//38  
键盘.下=83;//40  
键盘.左=65;//37  
键盘.右=68;//39  
键盘.攻击=74;//16  
键盘.跳=75;//17  
键盘.按_上=false;  
键盘.按_下=false;  
键盘.按_左=false;  
键盘.按_右=false;  
键盘.按_攻击=false;  
键盘.按_跳=false;  
//  
//--------------------------------计数刷新器-----------------------------------------  
var 计数刷新器:Timer=new Timer(100,0);  
var 数字:Number=100;  
计数刷新器.start();  
计数刷新器.addEventListener(TimerEvent.TIMER,计数刷新开始);  
function 计数刷新开始(e:TimerEvent):void {  
        数字++;  
}  
//  
//--------------------------------人物初始化------------------------------------------  
//  
var 人物初始化:Function=function() {  
攻击方式=null;  
动画=false;  
主角.gotoAndStop("站");  
if((键盘.按_左 || 键盘.按_右) && 走){  
主角.gotoAndStop("走");  
}  
if((键盘.按_左 || 键盘.按_右) && 跑) {  
主角.gotoAndStop("跑");  
}  
};  
//  
//---------------------------------按键监听-----------------------------------------  
//  
stage.addEventListener(KeyboardEvent.KEY_DOWN,按下);  
function 按下(e:KeyboardEvent):void {  
        if (e.keyCode==键盘.上 && !键盘.按_上) {  
                键盘.按_上=true;  
        }  
        if (e.keyCode==键盘.下 && !键盘.按_下) {  
                键盘.按_下=true;  
        }  
        if (e.keyCode==键盘.左 && !键盘.按_左) {  
                键盘.按_左=true;  
                if (数字<3) {  
                        走=false;  
                        跑=true;  
                } else {  
                        数字=0;  
                        走=true;  
                        跑=false;  
                }  
        }  
        if (e.keyCode==键盘.右 && !键盘.按_右) {  
                键盘.按_右=true;  
                if (数字<3) {  
                        走=false;  
                        跑=true;  
                } else {  
                        数字=0;  
                        走=true;  
                        跑=false;  
                }  
        }  
        if (e.keyCode==键盘.攻击 && !键盘.按_攻击) {  
                键盘.按_攻击=true;  
        }  
        if (e.keyCode==键盘.跳 && !键盘.按_跳) {  
                键盘.按_跳=true;  
        }  
}  
stage.addEventListener(KeyboardEvent.KEY_UP,松开);  
function 松开(e:KeyboardEvent):void {  
        if (e.keyCode==键盘.上 && 键盘.按_上) {  
                键盘.按_上=false;  
        }  
        if (e.keyCode==键盘.下 && 键盘.按_下) {  
                键盘.按_下=false;  
        }  
        if (e.keyCode==键盘.左 && 键盘.按_左) {  
                键盘.按_左=false;  
        }  
        if (e.keyCode==键盘.右 && 键盘.按_右) {  
                键盘.按_右=false;  
        }  
        if (e.keyCode==键盘.攻击 && 键盘.按_攻击) {  
                键盘.按_攻击=false;  
        }  
        if (e.keyCode==键盘.跳 && 键盘.按_跳) {  
                键盘.按_跳=false;  
        }  
}  
//  
//------------------------------人物监听--------------------------------------------  
//  
stage.addEventListener(Event.ENTER_FRAME,人物监听);  
function 人物监听(e:Event):void {  
        //按左右下方向键  
        if (键盘.按_左 && 键盘.按_右) {  
                if (跑) {  
                        跑=false;  
                }  
                //  
        } else {  
                if (键盘.按_左) {//按左键   
                        if (!被攻击) {  
                                if (走) {  
                                        if (!动画 && !空中 && 攻击方式==null && !动作.走) {  
                                                动作.走=true;  
                                                主角.gotoAndStop("走");  
                                        }  
                                        if (空中 || 攻击方式==null) {  
                                                主角.x-=主角走动速度;  
                                        }  
                                }  
                                if (跑) {  
                                        if (!动画 && !空中 && 攻击方式==null && !动作.跑) {  
                                                动作.跑=true;  
                                                主角.gotoAndStop("跑");  
                                        }  
                                        if (空中 || 攻击方式==null) {  
                                                主角.x-=主角跑动速度;  
                                        }  
                                }  
                                if (攻击方式==null) {  
                                        主角.scaleX=主角左;  
                                }  
                        }  
                } else if (键盘.按_右) {//按右键   
                        if (!被攻击) {  
                                if (走) {  
                                        if (!动画 && !空中 && 攻击方式==null && !动作.走) {  
                                                动作.走=true;  
                                                主角.gotoAndStop("走");  
                                        }  
                                        if (空中 || 攻击方式==null) {  
                                                主角.x+=主角走动速度;  
                                        }  
                                }  
                                if (跑) {  
                                        if (!动画 && !空中 && 攻击方式==null && !动作.跑) {  
                                                动作.跑=true;  
                                                主角.gotoAndStop("跑");  
                                        }  
                                        if (空中 || 攻击方式==null) {  
                                                主角.x+=主角跑动速度;  
                                        }  
                                }  
                                if (攻击方式==null) {  
                                        主角.scaleX=主角右;  
                                }  
                        }  
                } else {  
                        if (!被攻击) {  
                                if (!动画 && !空中 && 攻击方式==null) {  
                                        走=false;  
                                        跑=false;  
                                        动作.走=false;  
                                        动作.跑=false;  
                                        主角.gotoAndStop("站");  
                                }  
                        }  
                }  
        }  
        //按下攻击键  
        if (键盘.按_攻击 && !攻击 ) {  
                攻击=true;  
                if (!被攻击 && 攻击方式==null) {  
                        //普通攻击  
                        攻击方式="攻击";  
                        攻击力量=7;  
                        //  
                        主角.gotoAndStop(攻击方式);  
                }  
        } else if (!键盘.按_攻击 && 攻击) {  
                攻击=false;  
        }  
        //按下跳键  
        if (键盘.按_跳 && !跳) {  
                跳=true;  
                if (!空中 && !被攻击) {  
                        空中=true;  
                        落下速度=主角跳动速度;  
                        if (攻击方式==null) {  
                                主角.gotoAndStop("跳上");  
                                提取声音("跳上声");  
                        }  
                }  
        } else if (!键盘.按_跳 && 跳) {  
                跳=false;  
                if (落下速度<-5) {  
                        落下速度+=8;  
                        if (落下速度>0) {  
                                落下速度=0;  
                        }  
                }  
        }  
        //  
        //如果目前在空中的话  
        if (空中) {  
                落下速度+=重力加速度;  
                主角.y+=落下速度;  
                if (落下速度>0) {  
                        if (主角.判断人物.hitTestObject(判断路地)) {  
                                空中=false;  
                                主角.y=判断路地.y;  
                        }  
                }  
        }  
        if (空中 && 落下速度>=0) {  
                if (攻击方式==null) {  
                        主角.gotoAndStop("跳下");  
                }  
        }  
        //  
        //  
}  
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值