Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Плавно поменять цвет кнопки (http://www.flasher.ru/forum/showthread.php?t=95588)

xomka 09.05.2007 00:36

Плавно поменять цвет кнопки
 
Подскажите пожалуйста, как плавно изменить цвет кнопки, или точнее надо сделать аналог motion tint, если можно так выразиться ))

miramax 09.05.2007 00:40

Проще всего сделать моушен тинт на тайм лайне с тестовым клипом. И использовать как контейнер, посдтавляя вместо тестового клипа то что нужно.

xomka 09.05.2007 00:49

а все таки, имея объект кнопку, как используя только AS3 сделать это?

etc 09.05.2007 01:00

ColorTransform отменили уже?

http://livedocs.adobe.com/flash/9.0/main/00000165.html

xomka 09.05.2007 01:27

Может я что-то не понял, но ColorTransform врядли позволяет создать эффект подобный motion+tint, то есть постепенное перетекание кнопки из одного цвета в другой...
Подскажите пожалуйста!!!

lowka 09.05.2007 01:44

Цитата:

Сообщение от xomka
Может я что-то не понял, но ColorTransform врядли позволяет создать эффект подобный motion+tint...

позволяет(если бы не позволял, то этого класса не было бы :D) только не так как вам хочется. цвет A и цвет B известны. определяете как A будет переходить к B и все.

xomka 09.05.2007 13:45

>цвет A и цвет B известны.
c этим понятно

>как A будет переходить к B
а с этим подскажите плз, где и как делается... ?

screamge 09.05.2007 14:16

неужели примера из хелпа недостаточно?
цитирую:

Код:

package {
    import flash.display.Sprite;
    import flash.display.GradientType;
    import flash.geom.ColorTransform;
    import flash.events.MouseEvent;

    public class ColorTransformExample extends Sprite {
        public function ColorTransformExample() {
            var target:Sprite = new Sprite();
            draw(target);
            addChild(target);
            target.useHandCursor = true;
            target.buttonMode = true;
            target.addEventListener(MouseEvent.CLICK, clickHandler)
        }
        public function draw(sprite:Sprite):void {
            var red:uint = 0xFF0000;
            var green:uint = 0x00FF00;
            var blue:uint = 0x0000FF;
            var size:Number = 100;
            sprite.graphics.beginGradientFill(GradientType.LINEAR, [red, blue, green], [1, 0.5, 1], [0, 200, 255]);
            sprite.graphics.drawRect(0, 0, 100, 100);
        }
        public function clickHandler(event:MouseEvent):void {
            var rOffset:Number = transform.colorTransform.redOffset + 25;
            var bOffset:Number = transform.colorTransform.redOffset - 25;
            this.transform.colorTransform = new ColorTransform(1, 1, 1, 1, rOffset, 0, bOffset, 0);
        }
    }
}


BigDan 09.05.2007 17:56

Вот пример, только на АС2, но суть та же.


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

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