我在舞台上随机创建圈子并听取圈子上的点击。当我点击一个圆圈时,我想跟踪圆圈的填充颜色。我怎样才能获得这些数据?
这就是我用来创建圆圈的原因:
// 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);
}
答案 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()
您需要Flash Player 11.6,AIR 3.6
希望这有帮助。