私はフラッシュゲームでかなり奇妙な問題にぶつかりました。「エラー#1009:nullオブジェクト参照のプロパティまたはメソッドにアクセスできません」というメッセージが表示されます。次のコードブロックでエラーが発生しました:
public function createHero()
{
hero = new Object();
hero.mc = gamelevel.hero;
hero.dx = 0.0;
hero.dy = 0.0;
hero.inAir = false;
hero.direction = 1;
hero.animstate = "stand";
hero.walkAnimation = new Array(2, 3, 4, 5, 6, 7, 8);
hero.animstep = 2;
hero.jump = false;
hero.moveLeft = false;
hero.moveRight = false;
hero.jumpSpeed = 0.8;
hero.walkSpeed = 0.15;
hero.width = 64.0;
hero.height = 96.0;
hero.startX = hero.mc.x;
hero.startY = hero.mc.y;
hero.profile = "technology";
hero.ability = "robot";
hero.activePhotoFrame = false;
}
デバッガーを使用して、エラーを「hero.mc=gamelevel.hero;」に絞り込みました。テストオブジェクトを使用して、hero.mcまたはgamelevel.heroが原因であるかどうかを調べてみました。
testObject = gamelevel; //worked perfectly fine
testObject = gamelevel.hero; //gave the error
testObject.mc = gamelevel; //also gave the error
testObject.mc = gamelevel.hero; //gave the same error as well
何が問題なのかわかりません。明確にするために、「gamelevel」は、インスタンス名「hero」を持つ別のムービークリップを含むムービークリップのインスタンス名です。
問題はヒーローオブジェクトに限定されていません。コメントアウトすると、他のオブジェクトがgamelevel.somethingをmcプロパティに割り当てているときにエラーが発生します。
奇妙なことに、これは以前は完全にうまく機能していました。
その他の情報が必要な場合は、お気軽にお問い合わせください。