如何获得精灵的填充颜色?

时间:2015-07-23 15:15:28

标签: flash actionscript

我在舞台上随机创建圈子并听取圈子上的点击。当我点击一个圆圈时,我想跟踪圆圈的填充颜色。我怎样才能获得这些数据?

这就是我用来创建圆圈的原因:

// create the circle
var circle:Sprite = new Sprite();
circle.graphics.clear();
var circleColor = randomColor();
circle.graphics.beginFill(circleColor, 1);
circle.graphics.drawCircle(0, 0, circleRadius);
circle.graphics.endFill();

单击圆圈时触发的功能:

private function clickCircle(event:MouseEvent): void {
    var currentCircleName = event.currentTarget.name;

    // hide the circle
    event.currentTarget.visible = false;

    // update stats
    clickCount++;
    txt_clicksCount.text = String(clickCount);  
}

2 个答案:

答案 0 :(得分:1)

好的,我发现您无法通过此question+answer向精灵添加数据。

我决定做的是创建一个扩展Sprite的新类。

package  {
   import flash.display.Sprite;

    public class altSprite extends Sprite {
        public var color:String;
    }
}

所以现在我把我的Sprite调用改为:

var circle:altSprite = new altSprite();

通过执行以下操作将颜色存储到此altSprite:

circle.color = circleColor;

我可以在我的功能中调用这种颜色:

trace(event.currentTarget.color);

答案 1 :(得分:1)

查看以下链接并使用名为:

的方法
readGraphicsData()  

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Graphics.html#readGraphicsData

您需要Flash Player 11.6,AIR 3.6

希望这有帮助。