[Помощь] Как сделать изменение цветов на флеш?

Тема в разделе "Флеш", создана пользователем danneo, 17 дек 2013.

  1. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.421
    Симпатии:
    109
    Интересует как делается подобное: www.dekor3d.ru/catalog/87/5535
    Описание:
    Есть картинка. Выбираю фон картинки, ее цвет. В выпадающем списке формы меняется пункт меню, цена и т.п.
    Как это все устроено, как хранятся картинки, в векторе? Как происходит взаимодействие с html страницей?
    Сколько может стоить разработка функционала на фрилансе, хотя бы примерно?
     
  2. antonio22

    antonio22 Постоялец

    Регистр.:
    7 июн 2013
    Сообщения:
    60
    Симпатии:
    2
    скорее всего там стоит готовый флеш, а карточка товара отдельно, это предположительно конечно...
     
  3. rrex

    rrex Постоялец

    Регистр.:
    9 июн 2012
    Сообщения:
    67
    Симпатии:
    8
    такое реализовать можно, используя зависимые элементы. Вы хотите сами это сделать, или нужна помощь? если сами, то в каком редакторе и на какой версии actionscript Вы работаете?
     
  4. Upirenko

    Upirenko Писатель

    Регистр.:
    6 дек 2013
    Сообщения:
    6
    Симпатии:
    1
    вот пример кода:
    Код:
    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);
            }
        }
    }    
    Но скорее всего использует како нибудь твинер, например Tweenmax, там это можно одной строкой сделать
     
  5. MagicNoob

    MagicNoob Создатель

    Регистр.:
    27 фев 2014
    Сообщения:
    15
    Симпатии:
    3
    Ну мне кажется в сторону flashvars надо смотреть или чтение флешом данных из xml
     
  6. Z-13

    Z-13 Писатель

    Регистр.:
    24 сен 2007
    Сообщения:
    5
    Симпатии:
    0
    danneo
    1) В данном случае флешка ловит коллбэки от JS - смотреть в as3:
    ExternalInterface.addCallback

    2) по поводу смены цвета, можно так:
    private function changeColor(obj: DisplayObject)
    {
    var newColor:ColorTransform = obj.transform.colorTransform;
    newColor.color = 0xffffff;
    obj.transform.colorTransform = newColor;
    }


    А можно и через TweenMax например:
    TweenMax.to(mc, 1, {tint:0x00ff00});