![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2007
Сообщений: 30
|
Привет!.
Задача: скопировать графику из спрайта A в спрайт B. В 10м флэш плеере к классу Graphics добавили метод copyFrom. var shape1:Shape = new Shape(); shape1.x = 50; shape1.y = 50; shape1.graphics.beginFill(0xff0000); shape1.graphics.drawCircle(0,0,50); shape1.graphics.endFill(); addChild(shape1); var shape2:Shape = new Shape(); shape2.graphics.copyFrom(shape1.graphics); shape2.x = 150; shape2.y = 50; addChild(shape2); ![]() Работает! Хочу: скопировать графику из библиотечного объекта. Имеется простейший спрайт с linkage - Sprite1. В единственном слое - такой же кружочек, только зелёный. Меняем код: var s1:Sprite = new Sprite1() as Sprite; var shape1:Shape = Shape(s1.getChildAt(0)); shape1.x = 50; shape1.y = 50; addChild(shape1); var shape2:Shape = new Shape(); shape2.graphics.copyFrom(shape1.graphics); shape2.x = 150; shape2.y = 50; addChild(shape2); ![]() Не работает Причём до Shape объекта я таки достучался нормально, на сцене - зелёная шейпа из библиотечного спрайта.Дополняем код! var s1:Sprite = new Sprite1() as Sprite; var shape1:Shape = Shape(s1.getChildAt(0)); shape1.x = 50; shape1.y = 50; addChild(shape1); shape1.graphics.beginFill(0xff0000); shape1.graphics.drawCircle(0,0,10); shape1.graphics.endFill(); var shape2:Shape = new Shape(); shape2.graphics.copyFrom(shape1.graphics); shape2.x = 150; shape2.y = 50; addChild(shape2); ![]() Вот же сука, куда ты дел мой зелёный кружок? я же не говорил - graphics.clear! ![]() |
|
|||||
|
по всей видимости, copyFrom работает с заменой старой графики:
sh1 = new Shape(); sh1.graphics.beginFill(0xFF0000); sh1.graphics.drawCircle(0, 0, 50); sh1.graphics.endFill(); addChild(sh1); sh2 = new Shape(); sh2.graphics.beginFill(0x0000FF); sh2.graphics.drawCircle(20, 20, 50); sh2.graphics.endFill(); addChild(sh2); sh3 = new Shape(); sh3.graphics.copyFrom(sh1.graphics); sh3.graphics.copyFrom(sh2.graphics); sh3.x = sh3.y = 100; addChild(sh3); |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 30
|
Ну собственно да, эти примеры как раз демонстрируют. Более того, получается что флэш убивает графику библиотечного символа при использовании методов Graphics.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 18:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|