вы можете использовать flash.filters.ColorMatrixFilter - есть примеры в связанной документации.
это также очень легко сделать с помощью ColorShortcuts Tweener's , назначивсвойство _Color
- шестнадцатеричное значение цвета.этот метод дополнительно позволяет очень легко выцветать в цвете, при необходимости присваивая ненулевое значение требуемому свойству time
.
Tweener.addTween(myShape, {time: 0.0, _Color: 0xFF0000});
имейте в виду, что любые битовые фильтры, такие как тени или любые другиедети вашей фигуры (если это спрайт) также изменят цвет.хотя так же легко отделить каждый элемент вашей фигуры с помощью контейнера.
[EDIT] вместо использования Tweener, как я поспешно предлагал ранее, или довольно сложногоColorMatrixFilter, вы можете использовать объект ColorTransform , чтобы легко изменить цвет экранного объекта.это также самый распространенный подход в AS3.Вот пример:
import flash.geom.ColorTransform;
var myShape:Shape = new Shape();
myShape.graphics.beginFill(0xFF0000, 1.0);
myShape.graphics.drawRect(0, 0, 100, 100);
myShape.graphics.endFill();
addChild(myShape);
var myColorTransform:ColorTransform = new ColorTransform;
myColorTransform.color = 0x0000FF;
myShape.transform.colorTransform = myColorTransform;
приведенный выше код рисует красный прямоугольник, добавляет его к сцене, а затем использует объект ColorTransform, чтобы изменить его цвет на синий.