如何获得精灵的填充颜色?
How can I get fill color of sprite?
我在舞台上随机创建圆圈并监听对圆圈的点击。当我点击一个圆圈时,我想描绘圆圈的填充颜色。我怎样才能得到这些数据?
这是我用来创建圆圈的:
// 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);
}
好的,所以我发现你不能通过这个question+answer向精灵添加数据。
我决定做的是创建一个新的 class 来扩展 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);
查看以下 link 并使用调用的方法:
readGraphicsData()
您需要 Flash Player 11.6、AIR 3.6
希望对您有所帮助。
我在舞台上随机创建圆圈并监听对圆圈的点击。当我点击一个圆圈时,我想描绘圆圈的填充颜色。我怎样才能得到这些数据?
这是我用来创建圆圈的:
// 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);
}
好的,所以我发现你不能通过这个question+answer向精灵添加数据。
我决定做的是创建一个新的 class 来扩展 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);
查看以下 link 并使用调用的方法:
readGraphicsData()
您需要 Flash Player 11.6、AIR 3.6
希望对您有所帮助。