Ошибка с простым переходом цвета перехода, пожалуйста, помогите - PullRequest
0 голосов
/ 18 августа 2011

пытается сделать простой переход при переходе с одного цвета на другой в ActionScript 3, и я получаю

ReferenceError: Error #1069: Property transform not found on

fl.transitions.Tween, и значение по умолчанию отсутствует.в dell_fla :: MainTimeline / tweenToFinal () в flash.events::EventDispatcher/dispatchEventFunction () в flash.events::EventDispatcher/dispatchEvent () в fl.transitions :: Tween / setPosition () в fl.transitions :: Tween /update () в fl.transitions :: Tween / set time () в fl.transitions :: Tween / nextFrame () в fl.transitions :: Tween / onEnterFrame ()

Вот мой сценарий

import fl.transitions.Tween;
    import fl.transitions.TweenEvent;
    import fl.transitions.easing.Strong;
    import fl.motion.Color;
    import flash.events.Event;
    import flash.geom.ColorTransform;
    import flash.display.DisplayObject;

    var startColor:uint=0xCCFF00;
    var finalColor:uint=0x003399;
    var colorInfo:ColorTransform;
    // Colour transition for country mouseover
    function initColorTransform(mc:MovieClip):void
    {
        colorInfo = mc.transform.colorTransform;
        var myTween:Tween=new Tween(mc,'alpha',Strong.easeOut,0,1,1,true);
        myTween.addEventListener(TweenEvent.MOTION_CHANGE,tweenToFinal);
    }
    function tweenToFinal(e:TweenEvent):void
    {
        colorInfo.color=Color.interpolateColor(startColor,finalColor,e.position);
        e.target.transform.colorTransform=colorInfo;
    }

    function countryMouseOver(e:Event):void{
        trace('countryMouseOver '+e.target);
        var countryMc = e.target;
        var localPos:Point = new Point(countryMc.x,countryMc.y);
        var globalPos:Point = countryMc.localToGlobal(localPos);
        trace('local pos: '+localPos+ ' global pos:'+globalPos);
        initColorTransform(countryMc);
    }

1 Ответ

1 голос
/ 18 августа 2011

Посмотрите документы TweenEvent . e.target - это не ваш видеоклип, а сама анимация. Получите видеоклип, используя Tween(e.target).obj.

   function tweenToFinal(e:TweenEvent):void
    {
        colorInfo.color=Color.interpolateColor(startColor,finalColor,e.position);
        MovieClip(Tween(e.target).obj).transform.colorTransform=colorInfo;
    }
...