我只是创建一个影片剪辑,将其放在舞台上并为其指定实例名称char。
文档类
public class Test extends MovieClip
{
public function Test()
{
char.x = 1315; char.y = 459;
addEventListener(Event.ENTER_FRAME, mouseListen);
}
private function mouseListen(e:Event) {
char.x = mouseX;
char.y = mouseY;
}
}
错误
TypeError:错误#1009:无法访问null的属性或方法 对象参考。在com.me::Test / :: mouseListen()
如何知道构造函数中的“char”是什么,而mouseListen
函数中是什么?还有什么呢?
答案 0 :(得分:1)
我在本地重建了它,它工作正常。跟着鼠标。还有其他任何缺失的代码?我注意到你没有包装定义。这个类是主文件的文档根目录,还是将这个swf加载到另一个swf中?
package
{
import flash.display.*;
import flash.events.*;
public class Test extends MovieClip
{
public function Test()
{
char.x = 1315; char.y = 459;
addEventListener(Event.ENTER_FRAME, mouseListen);
}
private function mouseListen(e:Event)
{
char.x = mouseX;
char.y = mouseY;
}
}
}
答案 1 :(得分:0)
有同样的问题,只是解决它(我认为)。我将我的按钮移动到顶层,在我的代码层上方移动了瞧...这是一个愚蠢的闪光事物。然后我将它向下移动一层,它仍然只用了两层而不是我所拥有的。
答案 2 :(得分:0)
(1)char是保留字。不要使用它。
(2)调试1009的第一步是在尝试更改之前进行存在检查。它可以让你确定它是否像对象那样愚蠢的东西还没有出现在舞台上,因为它会在后来的关键帧中添加等等。
在这种情况下,您不需要这样做,因为您的范围已关闭。在事件监听器中,由于您将它添加到char,在函数本身内部,您将使用'this'关键字获得'char'。
尝试以下方法:
public function Test()
{
char.x = 1315; char.y = 459;
addEventListener(Event.ENTER_FRAME, mouseListen);
}
private function mouseListen(e:Event)
{
this.x = mouseX;
this.y = mouseY;
}