0

我正在尝试使用 for 循环在游戏中分阶段跳跃角色(char),以便在每次循环运行时跳跃一部分。循环永远不会初始化。

跳转开始被跟踪到输出控制台,但跳转号没有被跟踪。

为什么是这样?

跳跃高度 == 25

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
stage.addEventListener(Event.ENTER_FRAME, loop);
function loop(event:Event):void
{
    if (jumping == false && char.hitTestObject(floor) == false)
    {
        char.y += gravity
    }
}
function keyPressed(event:KeyboardEvent):void
{
    if (event.keyCode == jumpKey)
    {
        jump()
    }
}

function jump()
{
    if (char.y >= groundY)
    {
        trace("Jump Starting")
        jumping = true
        for (jCycle = 0; jCycle == jumpHeight; jCycle++)
        {
            char.y -= gravity
            trace("Jump No. " + jCycle)
        }
        jumping = false
    }
}
4

2 回答 2

0

您在 for 循环条件中有错误:jCycle == jumpHeight应该是jCycle < jumpHeight(或jCycle <= jumpHeight)。

于 2013-09-13T09:47:29.947 回答
0

您的问题是 for 条件始终为 false (jCycle == 0 !=jumpHeight) 并且 body 无法访问。尝试这个:

for (var jCycle:int = 0; jCycle <= jumpHeight; jCycle++)
{
     //body
}
于 2013-09-13T09:48:12.023 回答