**
解決した
**
私は現在、Flash 開発 IDE を使用して OpenFL ターゲット フラッシュを使用する HaxePunk ライブラリを使用して、Haxe でゲームを作成しています。私はこの チュートリアルに従っています。
エンティティから継承するクラスを取得しました:
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 を割り当てると、エラーは 4 行目に表示されます。私が考えることができる唯一のことは、bitmap.rect が null であるということですが、画像ファイルへのパスは正しく、画像は正しい形式です。多分私は何かが欠けているかもしれませんが、私のコードとチュートリアルの唯一の違いは、更新機能をオーバーライドすることであり、プログラムはクラッシュする前にそこに到達することさえありません.
なぜこれが起こっているのかについてのアイデアはありますか? (必要に応じて完全なソースを提供できます)
解決策: パスを「gfx/mah.png」に変更しました。問題は、フラッシュ開発で生成された埋め込みコードが正しくないことでした。それが解決策であるとはほとんど信じられません!