**
**
我目前正在Haxe与HaxePunk Library制作游戏,该库使用Flash Develop IDE使用OpenFL定位闪存。我正在关注this教程。
我有一个继承自Entity的类:
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();
}
}
构建(flash as target)工作正常,但是当我运行它时会出现以下运行时错误:
[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是null但是图像文件的路径是正确的,图像是正确的格式。也许我错过了一些东西,但我的代码与教程的唯一区别是覆盖了更新功能,程序在崩溃之前甚至没有到达那里。
关于为什么会发生这种情况的任何想法? (如果你愿意,我可以提供完整的资料来源)
解决方案: 改变了路径“gfx / mah.png”问题是在flash开发中生成的嵌入代码不正确,几乎无法相信那是解决方案!