2011-03-30 5 views
0

나는이 영화 클립을 cHolder라는 런타임에로드했습니다. 처음에는 색조를 적용하고 마우스가되면 색조는 없습니다. 색조의 변화를 만들기 위해 트윈을 어떻게 적용합니까? 감사!AS3 색조 변경 트위닝

 var imageLoader = new Loader(); 
     imageLoader.load(new URLRequest(projectDP));   
     var origColor: Color = new Color(); 
     origColor.setTint(0x000000, 0.8); 
     cv.cHolder.transform.colorTransform = origColor; 
     cv.cHolder.addChild(imageLoader); 
     this.addChild(cv); 


     cv.cHolder.addEventListener(MouseEvent.MOUSE_OVER, onRoll); 
     cv.cHolder.addEventListener(MouseEvent.MOUSE_OUT, onOut); 
      function onRoll(e:Event):void 
     { 
      origColor.setTint(0, 0); 
      e.currentTarget.transform.colorTransform = origColor; 
     }   

      function onOut(e:Event):void 
     { 

      origColor.setTint(0x000000, 0.8); 
      e.currentTarget.transform.colorTransform = origColor; 
     } 

답변

3

트위닝 엔진을 사용하는 것이 좋습니다. 플래시 Tween을 사용할 수는 있지만 TweenMax과 같이 많은 사용 가능한 엔진을 사용하는 것을 선호합니다.

이 같은 것을 할 것 색조를 트위닝합니다 :

import com.greensock.*; 
import com.greensock.plugins.*; 
TweenPlugin.activate([TintPlugin]); 

var color:uint = 0x0; 
var imageLoader = new Loader(); 
    imageLoader.load(new URLRequest(projectDP));   
    var origColor: Color = new Color(); 
    origColor.setTint(0x000000, 0.8); 
    cv.cHolder.transform.colorTransform = origColor; 
    cv.cHolder.addChild(imageLoader); 
    this.addChild(cv); 


    cv.cHolder.addEventListener(MouseEvent.MOUSE_OVER, onRoll); 
    cv.cHolder.addEventListener(MouseEvent.MOUSE_OUT, onOut); 
     function onRoll(e:Event):void 
    { 
     //origColor.setTint(0, 0); 
     //e.currentTarget.transform.colorTransform = origColor; 
     TweenLite.to(e.currentTarget, 1, {tint:null}); 
    }   

     function onOut(e:Event):void 
    { 

     //origColor.setTint(0x000000, 0.8); 
     //e.currentTarget.transform.colorTransform = origColor; 
     TweenLite.to(e.currentTarget, 1, {tint:0x000000});   
    } 
+0

+1 greensock 환상적인 트위닝 엔진 – Chris

+0

감사 goliatone입니다! TweenLite에서 TintPlugin과 ColorTransformPlugin을 사용합니다. – LeonBrain