当hittest时,使影片剪辑变得真实

时间:2014-05-30 14:19:10

标签: actionscript-3 actionscript

我试图创建足球比赛的基础,我设法创造的是球员动作:

http://www.fastswf.com/1d9dCxE宣传X踢
FLA: http://www55.zippyshare.com/v/24746890/file.html



代码(首先添加MC):

var isRight:Boolean=false
var isLeft:Boolean=false
var isUp:Boolean=false
var isDown:Boolean=false
var xspeed:Number=0
var yspeed:Number=0
var maxspeed:Number=5
var accel:Number=0.3

stage.addEventListener(KeyboardEvent.KEY_DOWN, downKey);
function downKey(event:KeyboardEvent){
 if(event.keyCode==39){
 isRight=true}
 if(event.keyCode==37){
 isLeft=true}
 if(event.keyCode==38){
 isUp=true}
 if(event.keyCode==40){
 isDown=true}
 if(event.keyCode==88){maxspeed=5;}
}

stage.addEventListener(KeyboardEvent.KEY_UP, upKey);
function upKey(event:KeyboardEvent){
 if(event.keyCode==39){
 isRight=false}
 if(event.keyCode==37){
 isLeft=false}
 if(event.keyCode==38){
 isUp=false}
 if(event.keyCode==40){
 isDown=false}
  if(event.keyCode==88){maxspeed=6;}
}

stage.addEventListener(Event.ENTER_FRAME, loop);
function loop(Event){
// if right is pressed and speed didnt hit the limit, increase speed
if(isRight==true && xspeed<maxspeed){xspeed+=2}
// if left is pressed and speed didnt hit the limit, increase speed (the other way)
if(isLeft==true && xspeed>-maxspeed){xspeed-=2}
// if speed is more than 0, decrease
if(xspeed>0){xspeed-=accel}
// if speed is less than 0, increase
if(xspeed<0){xspeed+=accel}

// just like x, but with y
if(isDown==true && yspeed<maxspeed){yspeed+=2}
if(isUp==true && yspeed>-maxspeed){yspeed-=2}
if(yspeed>0){yspeed-=accel}
if(yspeed<0){yspeed+=accel}

// apply speed to movieclip
mc.x+=xspeed
mc.y+=yspeed

// managing the walls
if(mc.x<0 && xspeed<0){mc.x=0}
if(mc.x>470 && xspeed>0){mc.x=470}
if(mc.y<0 && yspeed<0){mc.y=0}
if(mc.y>370 && yspeed>0){mc.y=370}

}


如您所见,代码需要改进
我努力创造一个像这样的游戏:
haxball.com

Notes:
after you have navigated to haxball.com:
Choose any nickname
Click on "Create Room"
Click on "Create"
Click on "Red Team"
Click on "Start"
Move Around, Tuch The White Ball


 如您所见:Red Team + Blue Team + A White Ball
在我的项目中,我只有一个可以移动的玩家:(,

我目前的任务是改变它,
所以我首先需要做的是找到一种方法让球对我的球员做出最佳反应(物理,数学和其他许多人)我之前从未做过这样的事情, 所以我在这里问几件事:

1.有人可以给我正确的方向(演示/例子/解释(我不愿意))? 这里有人做过这样的事吗? (可选:如果你这样做,你的代码/建议将帮助我完成这个项目(肯定)) 注意:请记住,我不是专业人士,但我可以比解释更好地理解代码,如果是代码,我也可以更好地学习这个主题。

注意:请随意使用FLA文件。

另一个注意事项:
我知道这里没有人要求代码(这是我个人的偏好),但这对我来说非常重要,所以无论如何我都要问,如果你有话要说,请保留给自己。