从Sprite动态更改图像?

时间:2013-05-17 17:49:16

标签: actionscript-3 flash haxe

我几天来一直在寻找这个答案,无论我多么看,我都找不到它。

据我所知,您可以使用以下内容轻松更改位图的图像:

var image = new Bitmap(Assets.getBitmapData(“image.png”));

//(及更高版本)

image.bitmapData = Assets.getBitmapData(“another-image.png”);

但位图不支持鼠标事件。假设我想在有人点击它时更改图像,因此我需要它作为精灵。有没有简单的方法来改变精灵的形象?在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

不确定。你可以用两种方法之一做。

  1. 您为此创建自定义类并将位图添加为公共属性
  2. 您将位图添加到Sprite并通过那里访问它。参见:
  3. var bitmap:Bitmap = new Bitmap();
    var container:Sprite = new Sprite();
    this.addChild( this.container );
    this.container.addChild( this.bitmap );
    
    // to change the bitmap
    this.bitmap.bitmapData = new BitmapData();
    
    // or 
    var bmp:Bitmap = this.container.getChildAt( 0 ) as Bitmap;
    bmp.bitmapData = new BitmapData();
    

    第二个选项假设位图是精灵中的唯一对象。如果向精灵添加更多对象,则可能需要相应地调整索引。