package { import caurina.transitions.Tweener; import caurina.transitions.properties.ColorShortcuts; /** * TweenerColorExtension.as * * TweenerのColorShortcutsで設定できる下記のプロパティについて、個別に設定するのが * 面倒だったので、配列で一気に指定できるようにしました。 * * <本クラスで設定可能なTweenerのColorShortcutsのプロパティ> * _color_redMultiplier * _color_greenMultiplier * _color_blueMultiplier * _color_alphaMultiplier * _color_redOffset * _color_greenOffset * _color_blueOffset * _color_alphaOffset * * <使い方> * _color_xxxMultiplierの値を設定するときは、_colorMultipliersというプロパティに下記の順の配列を指定して下さい。 * [_color_redMultiplier, _color_greenMultiplier, _color_blueMultiplier, _color_alphaMultiplier] * (例) * Tweener.addTween(mc, {_colorMultipliers:[1,0,0.5,1]}); * * _color_xxxOffsetの値を設定するときは、_colorOffsetsというプロパティに下記の順の配列を指定して下さい。 * [_color_redOffset, _color_greenOffset, _color_blueOffset, _color_alphaOffset] * (例) * Tweener.addTween(mc, {_colorOffsets:[255,100,0,50]}); * * @author bricoleur.inc / Tonpoo.com */ public class TweenerColorExtension { public static function init():void { ColorShortcuts.init(); Tweener.registerSpecialPropertySplitter("_colorMultipliers", _colorMultipliers_splitter); Tweener.registerSpecialPropertySplitter("_colorOffsets", _colorOffsets_splitter); } protected static function _colorMultipliers_splitter(p_value, p_paramaters:Array):Array{ var nArray:Array = new Array(); if(p_value == null){ nArray.push({name:"_color_redMultiplier", value:1}); nArray.push({name:"_color_greenMultiplier", value:1}); nArray.push({name:"_color_blueMultiplier", value:1}); nArray.push({name:"_color_alphaMultiplier", value:1}); }else{ nArray.push({name:"_color_redMultiplier", value:p_value[0]}); nArray.push({name:"_color_greenMultiplier", value:p_value[1]}); nArray.push({name:"_color_blueMultiplier", value:p_value[2]}); nArray.push({name:"_color_alphaMultiplier", value:p_value[3]}); } return nArray; } protected static function _colorOffsets_splitter(p_value, p_paramaters:Array):Array{ var nArray:Array = new Array(); if(p_value == null){ nArray.push({name:"_color_redOffset", value:0}); nArray.push({name:"_color_greenOffset", value:0}); nArray.push({name:"_color_blueOffset", value:0}); nArray.push({name:"_color_alphaOffset", value:0}); }else{ nArray.push({name:"_color_redOffset", value:p_value[0]}); nArray.push({name:"_color_greenOffset", value:p_value[1]}); nArray.push({name:"_color_blueOffset", value:p_value[2]}); nArray.push({name:"_color_alphaOffset", value:p_value[3]}); } return nArray; } function TweenerColorExtension() { } } }