AS3使用hitTestObject转到下一帧

时间:2012-03-16 10:00:41

标签: actionscript-3 flash-cs5

我正在制作一个游戏,你必须先用你的角色拿起一把钥匙,然后再去门口。当你上门时,你应该去下一帧。没有钥匙,你就无法通过门。您应该使用hitTestObject来获取密钥,并使用hitTestObject转到下一帧。

有人可以帮助我吗?谢谢!

这是我的代码:

var gotKey:Boolean = false;

if(Jack.hitTestObject (unlock))
{
    unlock.visible = false;
    gotKey == true;
    trace ("You got the key!")
}
if (Jack.hitTestObject (house))
{
    if (gotKey == true)
    nextFrame();
    trace ("level achieved")
}

2 个答案:

答案 0 :(得分:1)

我想你想把变量gotKey分配给true(=),而不是把它比作true(==)

if(Jack.hitTestObject (unlock))
{
    unlock.visible = false;
    gotKey == true;
    trace ("You got the key!")
}

应该是:

if(Jack.hitTestObject (unlock))
{
    unlock.visible = false;
    gotKey = true;
    trace ("You got the key!")
}

答案 1 :(得分:0)

您是否收到编译错误,或者您是否正在寻找逻辑方面的帮助?因为你所拥有的东西应该有效,但你在gotKey逻辑检查中遗漏了一组花括号,检查Jack hitTestObjects所在的位置。

if (Jack.hitTestObject (house))
{
    if (gotKey == true)
    nextFrame();
    trace ("level achieved")
}

应该是

if (Jack.hitTestObject (house))
{
    if (gotKey == true) {
    nextFrame();
    trace ("level achieved")
    }
}