Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как динамически изменить цвет Sprite (http://www.flasher.ru/forum/showthread.php?t=169881)

Шурик_2 13.10.2011 21:21

Как динамически изменить цвет Sprite
 
Как динамически менять цвет градиента экземпляра класса Sprite (круг), уже добавленного в список отображения? Много чего перепробовал - не помогает.

bav 13.10.2011 21:24

А делать clear() и рисовать заново не подходит?

Шурик_2 13.10.2011 22:00

Как вызвать clear() ?

Inet_PC 13.10.2011 22:02

Может в хелп загляните? Хоть глазом?
Код AS3:

s.graphics.clear();


КорДум 13.10.2011 22:03

Я вам настоятельно советую обращаться к справке.

Шурик_2 13.10.2011 22:06

Цитата:

Сообщение от Inet_PC (Сообщение 1038999)
Может в хелп загляните? Хоть глазом?
Код AS3:

s.graphics.clear();


А если у меня SPRITE:
Код AS3:

var circle:Sprite = new Sprite();
var radius:Number = LEDsize;
var matrix:Matrix = new Matrix();
matrix.createGradientBox(radius * 2, radius * 2, 0, -5, -6);
circle.graphics.lineStyle(0, 0x000000, .1);
circle.graphics.beginGradientFill(GradientType.RADIAL, LEDcolor, [1, 1], [0, 255], matrix);
circle.graphics.drawCircle(0, 0, radius);
addChild(circle);

Добавлено через 1 минуту
Цитата:

Сообщение от КорДум (Сообщение 1039000)
Я вам настоятельно советую обращаться к справке.

Саша, в справке сложно найти тот метод, который бы меня устроил.

Всё нарисовано без импорта класса Graphis!

Inet_PC 13.10.2011 22:12

Ну Вы вообще.
Код AS3:

circle.graphics.clear();


КорДум 13.10.2011 22:16

Цитата:

Всё нарисовано без импорта класса Graphis!
Экземпляр этого класса есть в любом DIsplayObject'е. Достаточно посмотреть на примеры в справке.

Inet_PC 13.10.2011 22:18

Цитата:

circle.graphics
А вот это Вас не смущает?

Newred 14.10.2011 03:47

Вложений: 1
Могу дать пример из моего приложения вконтакте , где кликая по фону, меняется цвет фона спрайта!
Немного видоизменил для вашего вопроса(исходники прилагаются)
Код AS3:

package
{
        import flash.display.MovieClip;
        import flash.events.MouseEvent;
        import flash.geom.ColorTransform;
 
        public class main extends MovieClip
        {
                public function main()
                {
                        init();
                }
 
                private function init():void
                {
                        var mc:MovieClip = new MovieClip();
                        mc.graphics.beginFill(0xFFFFFF);
                        mc.graphics.drawRect(0,0,stage.stageWidth,stage.stageHeight);
                        mc.graphics.endFill();
                        mc.addEventListener(MouseEvent.CLICK, mouse_click);
                        addChild(mc);
                }
 
                private function mouse_click(e:MouseEvent):void
                {
                        //от 0..1 RGB
                        e.target.transform.colorTransform = new ColorTransform(gr(),gr(),gr());
                }
 
                private function gr():Number
                {
                        var rand:Number = Math.random();
                        return rand;
                }
        }
}

Этот код цепляем на любую fla-шку


Часовой пояс GMT +4, время: 17:57.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.