0

我是 AS3 的新手,似乎忽略与类和/或目标相关的内容。我的库中有一个电影剪辑,它链接到一个名为“云”的类(是的,云只是雨云的图片)。我想在舞台上添加云。我知道有两种方法可以做到这一点:

  1. 将它直接从库中拖到舞台上。
  2. 使用 AS3 将子级添加到舞台。

当我使用“将它直接从库拖到舞台”方法发布我的 swf 时,该类工作。但是当我尝试使用 AS3 方法时它不起作用。

课程如下:

package  {

    import flash.display.MovieClip;
    import flash.events.KeyboardEvent;

    public class cloud extends MovieClip {

        public function cloud() {
            stage.addEventListener(KeyboardEvent.KEY_DOWN,keyMapping);
        }
        private function keyMapping(event:KeyboardEvent):void {
            if (event.charCode == 13) {
                MovieClip(parent).testme.text = "hello world!";
            }
        }
    }
}

我在主时间线的第 1 帧上使用的 AS3:

stop();
var cloud_mc:cloud = new cloud();
addChild(cloud_mc);

==================================================== =================================

建议修复

班级:

package  {

    import flash.display.MovieClip;
    import flash.events.KeyboardEvent;

    public class cloud extends MovieClip {

        public function cloud() {
        }
        public function tralala() {
            stage.addEventListener(KeyboardEvent.KEY_DOWN,keyMapping);
        }
        private function keyMapping(event:KeyboardEvent):void {
            if (event.charCode == 13) {
                MovieClip(parent).testme.text = "hello world!";
            }
        }
    }
}

AS3:

stop();
var cloud_mc:cloud = new cloud();
addChild(cloud_mc);
cloud_mc.tralala();
4

1 回答 1

1

使用库对象的链接名称,而不是它扩展的类。

您的库对象扩展了扩展影片剪辑的云类。如果您实例化云类,您会错过库对象。

此处详细描述了该过程:

http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b8ea63-7fee.html

于 2014-07-03T12:01:04.547 回答