Actionscript 3 flash中的奇怪对象属性问题
我在flash游戏中遇到了一个相当奇怪的问题。我得到一个“错误#1009:无法访问空对象引用的属性或方法”。以下代码块中出现错误:Actionscript 3 flash中的奇怪对象属性问题,actionscript-3,flash,object,movieclip,Actionscript 3,Flash,Object,Movieclip,我在flash游戏中遇到了一个相当奇怪的问题。我得到一个“错误#1009:无法访问空对象引用的属性或方法”。以下代码块中出现错误: public function createHero() { hero = new Object(); hero.mc = gamelevel.hero; hero.dx = 0.0; hero.dy = 0.0; hero.inAir = false;
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”的movieclip的movieclip的实例名
问题不仅限于英雄对象。如果我把它注释掉,我会发现任何其他对象将gamelevel.something分配给mc属性时出错
让人感到奇怪的是,这种方法以前工作得非常好
如果需要任何其他信息,请毫不犹豫地询问。必须在舞台上才能访问舞台实例
此.addEventListener(Event.ADDED_TO_STAGE,createHero)结果显示其中一个图像已损坏