我试图将事件监听器添加到我的BitMap中。 Tile扩展了gameProps,后者扩展了BitMap。我尝试使用addEventListener。那行不通。但是Adobe文档说Bitmap有一个addEventListener对象。
package {
import flash.display.BitmapData;
import flash.events.*;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
import flash.geom.Point;
public class Tile extends gameProps {
public var tileNum:Number = 0;
public function Tile(tileNumber:Number):void
{
tileNum = tileNumber;
addEventListener(MouseEvent.MOUSE_OVER, respond);
}
public function respond(e:MouseEvent):void
{ trace("HELLO");
}
}
}
最佳答案
Bitmap类扩展了DisplayObject而不是InteractiveObject,因此不能接收鼠标事件。尝试将位图对象包装在Sprite子类中。像这样的东西(伪代码):
public class Image extends Sprite
{
var bitmap:Bitmap;
public function Image()
{
bitmap = new Bitmap();
addChild( bitmap );
}
}
InteractiveObject文件:http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/display/InteractiveObject.html
关于flash - BitMap Eventlistener无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1988027/