AS3 - Bitmap类可以调度鼠标事件吗?

Gar*_*ong 3 apache-flex flashdevelop actionscript-3

我正在尝试学习AS3并遇到了一个小问题.

我有一个Bitmap类,我添加了一个MouseEvent.CLICK监听器,但似乎没有调度该事件.

我使用Flashdevelop编写AS3代码和Flex编译.

我有两节课,Enemy.asPlayer.as

Player.as如下所示:

package Player 
{
import flash.display.Sprite;
import flash.events.MouseEvent;

[Embed(source="../../assets/leek.swf", symbol="Leek")]

public class Player extends Sprite 
{
    public function Player() 
    {
        trace("Player constructed");
        addEventListener(MouseEvent.CLICK, handleClick);
    }

    private function handleClick(e:MouseEvent):void 
    {
        trace("Clicked Player");
    }

}

}
Run Code Online (Sandbox Code Playgroud)

Enemy.as如下所示:

package enemies 
{

import flash.display.Bitmap;
import flash.events.MouseEvent

[Embed(source="../../assets/gardengnome.png")]

public class Enemy extends Bitmap 
{
    public function Enemy() 
    {
        trace("enemy constructed");
        addEventListener(MouseEvent.CLICK, handleClick);
    }

    private function handleClick(e:MouseEvent):void 
    {
        trace("Clicked Enemy");
    }

}

}
Run Code Online (Sandbox Code Playgroud)

这两个类几乎是完全相同的,除了一个是a Sprite,我swf从一个教程中的文件中嵌入了一个符号,另一个是a Bitmap,我将一个png文件嵌入到该文件中.

Player类(一个这是一个Sprite,并使用一个符号)触发关闭MouseEvent.CLICK,当我运行该项目,并单击播放器的图像上,但Enemy类没有.

没有编译警告或错误,所以我很难理解究竟是什么问题.是因为一个是a Sprite和另一个a Bitmap,还是因为一个人使用了a的准备符号swf,而另一个只是a png

我怎样才能让Bitmap课堂回应MouseEvent

谢谢你的帮助!

Jas*_*ges 6

来自Adobe®Flash®Platform的ActionScript®3.0参考:

Bitmap类不是InteractiveObject类的子类,因此它无法分派鼠标事件.但是,您可以使用包含Bitmap对象的显示对象容器的addEventListener()方法.