我正在尝试学习 AS3,但遇到了一个小问题。
我有一个 Bitmap 类,我向其中添加了一个MouseEvent.CLICK
侦听器,但似乎没有调度该事件。
我使用 Flashdevelop 编写 AS3 代码并使用 Flex 进行编译。
我有两个班,Enemy.as
和Player.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");
}
}
}
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");
}
}
}
这两个类几乎相同,除了一个是 a ,我从教程中获得Sprite
的文件中嵌入了一个符号,另一个是 a,我在其中嵌入了一个文件。swf
Bitmap
png
当我运行项目并单击播放器图像时,Player
该类(一个精灵并使用符号)触发,但该类没有。MouseEvent.CLICK
Enemy
没有编译警告或错误,所以我很难理解到底是什么问题。是因为一个是 aSprite
而另一个是 a Bitmap
,还是因为一个使用了 a 中准备好的符号swf
,而另一个只是 a png
?
我怎样才能让Bitmap
班级回应MouseEvent
?
谢谢你的帮助!