**
解决了
**
我目前正在使用 HaxePunk 库在 Haxe 中制作游戏,该库使用 OpenFL 以 Flash 为目标,并使用 Flash Develop IDE。我正在关注本 教程。
我有一个从实体继承的类:
package ;
import com.haxepunk.Entity;
import com.haxepunk.graphics.Image;
class Head extends Entity
{
public function new(x: Int , y:Int)
{
super(x, y);
graphic = new Image("../assets/gfx/mah.png");
}
public override function update()
{
x += 2;
super.update();
}
}
构建(闪存作为目标)工作正常,但是当我运行它时,会出现以下运行时错误:
[Fault] exception, information=TypeError: Error #1009: Cannot access a property or method of a null object reference.
它发生在 HaxePunk 源中的 Image 类中,在这个方法中:
private inline function setBitmapSource(bitmap:BitmapData)
{
_blit = true;
_sourceRect = bitmap.rect;
_source = bitmap;
}
分配 _sourceRect 时,错误在第四行。我唯一能想到的是 bitmap.rect 为空,但图像文件的路径是正确的,并且图像是正确的格式。也许我遗漏了一些东西,但我的代码与本教程的唯一区别是覆盖了更新功能,并且程序在崩溃之前甚至没有到达那里。
关于为什么会发生这种情况的任何想法?(如果你愿意,我可以提供完整的源代码)
解决方案: 将路径更改为“gfx/mah.png” 问题是在flash开发中生成的嵌入代码不正确,几乎不敢相信这是解决方案!