AS3中的角色运动

时间:2015-05-15 22:15:43

标签: actionscript-3 flash if-statement

所以,在我的游戏中我创建了几个随机生成并向上移动的平台,游戏的目的是让玩家不断向下移动,并避免到达顶部,我左右移动工作正常,我有一个名为hittingPlatform的布尔值,它是假的,如果hittingPlatform等于true,我会在循环事件中向下移动播放器。

然而,当玩家确实击中它时,我将其设置为true,在循环事件中让他向上移动平台,我的问题是当他从平台上退回时,我需要将其设置为false。我尝试在碰撞检测中使用else语句,但是这不起作用,我不知道还能做什么,有什么建议吗?如果它没有意义/不够清楚,请告诉我!

var player:Player = new Player();
var platformOne:PlatformOne = new PlatformOne();  
var platformTwo:PlatformTwo = new PlatformTwo();
var hittingPlatform:Boolean = false;    

stage.addEventListener(Event.ENTER_FRAME,loopEvent);
player.addEventListener(Event.ENTER_FRAME,playerCollision);

function playerCollision(event:Event):void{
    if(player.hitTestObject(platformOne)){
        hittingPlatform = true;
    }
    else if(player.hitTestObject(platformTwo)){
        hittingPlatform = true;
    }
}

function loopEvent(event:Event):void{
    if(!hittingPlatform){
        player.y -= 5;
    }
    else if(hittingPlatform){
        player.y += 5;
    }
}

所以碰撞的地方,我只需要说明如果玩家离开那个特定的平台,它会回到假,我尝试了一个else语句,但由于有几个平台,任何帮助都没有用理解!

1 个答案:

答案 0 :(得分:0)

ng-repeat

如何以这种方式编辑代码,以便每当玩家进入平台时,hittingPlatform设置为true,如果没有,则设置为false。