AS3:为什么我会收到这么多错误 1120?
AS3: Why do I get so many error 1120s?
我今天在 Flash CC 中创建了一个新的 AS3 文档。我的舞台是空的。我将文档 class 制作成一个名为 test.as 的 .as 文件 - 我的 .fla 也被称为 test.fla.
所以我创建了一个名为mirror的movieclip,并给它一个AS3链接名mirror。我把它放在我的图书馆里,然后从舞台上删除了它。然后我转到我的外部 .as 文件并写了这个:
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class test extends MovieClip {
public var mirror1:MovieClip = new mirror();
public function dragMirror1(event:MouseEvent):void
{
mirror1.startDrag();
}
public function releaseMirror1(event:MouseEvent):void
{
mirror1.stopDrag();
}
mirror1.addEventListener(MouseEvent.MOUSE_DOWN,dragMirror1);
mirror1.addEventListener(MouseEvent.MOUSE_UP,releaseMirror1);
}
}
这似乎是完全无害的代码,但是当我 运行 代码时我得到了四个错误:
C:\Users\Raphael\Creative Cloud Files\LightStage\Testing\test.as, Line 20, Column 48 1120: Access of undefined property releaseMirror1.
C:\Users\Raphael\Creative Cloud Files\LightStage\Testing\test.as, Line 20, Column 3 1120: Access of undefined property mirror1.
C:\Users\Raphael\Creative Cloud Files\LightStage\Testing\test.as, Line 19, Column 50 1120: Access of undefined property dragMirror1.
C:\Users\Raphael\Creative Cloud Files\LightStage\Testing\test.as, Line 19, Column 3 1120: Access of undefined property mirror1.
有人知道为什么会这样吗?也许我遗漏了一些基本的东西,但我已经创建了一些新的 .fla 和 .as 文件来测试它并且它一直在发生,即使我重写代码并使用不同的 AS3 链接名称也是如此。
为避免这些错误,在将 mirror
对象添加到舞台后,您必须在 class 的构造函数中使用 mirror1.addEventListener()
:
public class Test extends MovieClip {
public var mirror1:MovieClip = new mirror();
public function Test():void
{
addChild(mirror1);
mirror1.addEventListener(MouseEvent.MOUSE_DOWN, dragMirror1);
mirror1.addEventListener(MouseEvent.MOUSE_UP, releaseMirror1);
}
public function dragMirror1(event:MouseEvent):void
{
mirror1.startDrag();
}
public function releaseMirror1(event:MouseEvent):void
{
mirror1.stopDrag();
}
}
希望能帮到你。
我今天在 Flash CC 中创建了一个新的 AS3 文档。我的舞台是空的。我将文档 class 制作成一个名为 test.as 的 .as 文件 - 我的 .fla 也被称为 test.fla.
所以我创建了一个名为mirror的movieclip,并给它一个AS3链接名mirror。我把它放在我的图书馆里,然后从舞台上删除了它。然后我转到我的外部 .as 文件并写了这个:
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class test extends MovieClip {
public var mirror1:MovieClip = new mirror();
public function dragMirror1(event:MouseEvent):void
{
mirror1.startDrag();
}
public function releaseMirror1(event:MouseEvent):void
{
mirror1.stopDrag();
}
mirror1.addEventListener(MouseEvent.MOUSE_DOWN,dragMirror1);
mirror1.addEventListener(MouseEvent.MOUSE_UP,releaseMirror1);
}
}
这似乎是完全无害的代码,但是当我 运行 代码时我得到了四个错误:
C:\Users\Raphael\Creative Cloud Files\LightStage\Testing\test.as, Line 20, Column 48 1120: Access of undefined property releaseMirror1. C:\Users\Raphael\Creative Cloud Files\LightStage\Testing\test.as, Line 20, Column 3 1120: Access of undefined property mirror1. C:\Users\Raphael\Creative Cloud Files\LightStage\Testing\test.as, Line 19, Column 50 1120: Access of undefined property dragMirror1. C:\Users\Raphael\Creative Cloud Files\LightStage\Testing\test.as, Line 19, Column 3 1120: Access of undefined property mirror1.
有人知道为什么会这样吗?也许我遗漏了一些基本的东西,但我已经创建了一些新的 .fla 和 .as 文件来测试它并且它一直在发生,即使我重写代码并使用不同的 AS3 链接名称也是如此。
为避免这些错误,在将 mirror
对象添加到舞台后,您必须在 class 的构造函数中使用 mirror1.addEventListener()
:
public class Test extends MovieClip {
public var mirror1:MovieClip = new mirror();
public function Test():void
{
addChild(mirror1);
mirror1.addEventListener(MouseEvent.MOUSE_DOWN, dragMirror1);
mirror1.addEventListener(MouseEvent.MOUSE_UP, releaseMirror1);
}
public function dragMirror1(event:MouseEvent):void
{
mirror1.startDrag();
}
public function releaseMirror1(event:MouseEvent):void
{
mirror1.stopDrag();
}
}
希望能帮到你。