AS3 Flash - 错误#2007:参数hitTestObject必须为非null

时间:2015-02-17 23:05:29

标签: actionscript-3 flash collision-detection

我正在使用Flash来创建一个平台游戏,我只是尝试使用hitTestObject添加一个if语句来跟踪一些单词,但是当我点击平台但我不断收到错误时#34;参数hitTestObject必须为非null"。

这是我的代码:

//variables
public var jon: Player; 
public var platforms:Platform;

public function gameloop(Event)
 {
        //applying gravity
        jon.y += gravity;

        //adding movement
        if (moveLeft == true)
        {
            jon.x -= xspeed;
            jon.scaleX = -1;
        }

        if (moveUp == true && isJumping == false)
        {
                isJumping = true;
                jon.y -= yspeed;
        }

        if (moveRight == true)
        {
            jon.x += xspeed;
            jon.scaleX = +1;
        }


        //adding collisions for platforms   **NOT WORKING**
        if(jon.hitTestObject(platforms))
        {
            trace("hello i am working");
        }
    }

1 个答案:

答案 0 :(得分:1)

错误表明platforms为空。

您发布的代码中未创建jonplatforms,我猜这些是时间轴符号吗?确保您在时间轴中为名称platforms指定了一个符号,并确保它已添加到gameloop的框架中。