Gar*_*ong 3 apache-flex flashdevelop actionscript-3
我正在尝试学习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");
}
}
}
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?
谢谢你的帮助!
来自Adobe®Flash®Platform的ActionScript®3.0参考:
Bitmap类不是InteractiveObject类的子类,因此它无法分派鼠标事件.但是,您可以使用包含Bitmap对象的显示对象容器的addEventListener()方法.
| 归档时间: |
|
| 查看次数: |
1210 次 |
| 最近记录: |