2

**

解决了

**

我目前正在使用 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开发中生成的嵌入代码不正确,几乎不敢相信这是解决方案!

4

0 回答 0