我试图将事件监听器添加到我的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/

10-13 03:39