Если вы хотите загрузить векторную графику, самый простой, изначально поддерживаемый во Flash способ - это загрузить SWF-файл. Этот SWF-файл может содержать графику в корневом списке отображения (в этом случае вы можете просто добавить загруженный SWF-файл, который появится как MovieClip, в ваш список отображения) или он может определять символы, связанные с именами классов. В последнем случае вы можете получить определения классов, используя getDefinitionByName()
, а затем создать экземпляр этого класса.
// After having loaded a SWF with class definition "MySymbol"
var symbolClass : Class = getDefinitionByName("MySymbol") as Class;
var symbol : Sprite = new symbolClass();
Что касается преобразования цвета, вы можете сделать это, используя классы ColorTransform
или ColorMatrixFilter
, в зависимости от сходства двух цветов. В противном случае самый простой способ, если вы придерживаетесь метода загрузки SWF, - это просто разделить две части вашей графики на два отдельных слоя / экранных объекта при создании файла SWF (например, в Flash Professional) и затем получить к ним доступ. и преобразовать их отдельно.
var symbol : MovieClip = new symbolClass;
symbol.part1.transform.colorTransform =
new ColorTransform(0, 0, 0, 1, 255, 0, 0);
Этот код будет обращаться к дочернему элементу MySymbol
MovieClip с именем экземпляра part1
и менять его цвет на красный. Для получения дополнительной информации о ColorTransform см. документацию .