2015-02-17 3 views
0

Я использую Flash для создания игровой платформы, и я просто пытаюсь добавить инструкцию if с помощью hitTestObject для отслеживания некоторых слов, но когда я нажимаю платформы но я продолжаю получать ошибку «Параметр hitTestObject должен быть не нулевым».AS3 Flash - Ошибка # 2007: параметр hitTestObject должен быть не нулевым

Вот мой код:

//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

Ошибка указывает на то, что platforms равна нулю.

Ни jon, ни platforms не создан в коде, который вы отправили, я предполагаю, что это символы временной шкалы? Убедитесь, что вы указали символ platforms на временной шкале и убедитесь, что он существует на фрейме, добавленном gameloop.

Смежные вопросы