【问题标题】:AS3 error- when trying to hit test objectAS3 错误 - 尝试击中测试对象时
【发布时间】:2015-02-12 15:01:04
【问题描述】:

我正在尝试测试两个对象的碰撞。两者都在显示列表中。它们是影片剪辑,每个都包含一个命中框。一个叫做 hitboxx,另一个叫做 hits。但是,当我测试以下代码时:

if (character2.hitboxx.hitTestObject(Spike1.hits)||character2.hitboxx.hitTestObject(Spike2.hits)||character2.hitboxx.hitTestObject(Spike3.hits))
{
    currLives--;
}

我收到此错误:

TypeError:错误 #1009:无法访问空对象引用的属性或方法。 在 SpikeJungle_fla::MainTimeline/frame1()[SpikeJungle_fla.MainTimeline::frame1:126]

【问题讨论】:

  • 对象不是两个而是四个。 hitboxx、Spike1、Spike2、Spike3。
  • 在您的调试器中,您可以找到哪个变量为空。

标签: actionscript-3 flash hittest


【解决方案1】:

很难在代码上说什么。代码似乎正确。可能是您忘记添加变量名称或其他内容。或者尝试一次检查一个影片剪辑。意味着尝试删除其他条件并检查其中一个条件,看看它是否有效。并且还在发布设置>>高级>>允许调试中选中此选项并再次编译,您将获得有关错误的更多信息。

【讨论】:

  • 我现在有这个信息TypeError: Error #2007: Parameter hitTestObject must be non-null. at flash.display::DisplayObject/_hitTest() at flash.display::DisplayObject/hitTestObject() at SpikeJungle_fla::MainTimeline/frame1()[SpikeJungle_fla.MainTimeline::frame1:159],但我不知道如何解决这个问题
  • 你在hittestobject中指定的对象为null。这就是错误所说的。您一次尝试过一个对象吗? if (character2.hitboxx.hitTestObject(Spike1.hits)) 像这样。并在此处发布结果。
猜你喜欢
  • 2016-08-23
  • 2023-03-27
  • 1970-01-01
  • 2017-10-17
  • 1970-01-01
  • 2019-07-10
  • 1970-01-01
  • 2017-08-01
  • 1970-01-01
相关资源
最近更新 更多