📄 specialpropertiesdefault.as
字号:
package caurina.transitions {
import flash.filters.BitmapFilter;
import flash.filters.BlurFilter;
// import flash.filters.GlowFilter;
import flash.geom.ColorTransform;
import flash.media.SoundTransform;
/**
* SpecialPropertiesDefault
* List of default special properties for the Tweener class
* The function names are strange/inverted because it makes for easier debugging (alphabetic order). They're only for internal use (on this class) anyways.
*
* @author Zeh Fernando, Nate Chatellier
* @version 1.0.1
* @private
*/
public class SpecialPropertiesDefault {
/**
* There's no constructor.
*/
public function SpecialPropertiesDefault () {
trace ("SpecialProperties is a static class and should not be instantiated.")
}
/**
* Registers all the special properties to the Tweener class, so the Tweener knows what to do with them.
*/
public static function init():void {
// Normal properties
Tweener.registerSpecialProperty("_frame", frame_get, frame_set);
Tweener.registerSpecialProperty("_sound_volume", _sound_volume_get, _sound_volume_set);
Tweener.registerSpecialProperty("_sound_pan", _sound_pan_get, _sound_pan_set);
Tweener.registerSpecialProperty("_color_ra", _color_property_get, _color_property_set, ["redMultiplier"]);
Tweener.registerSpecialProperty("_color_rb", _color_property_get, _color_property_set, ["redOffset"]);
Tweener.registerSpecialProperty("_color_ga", _color_property_get, _color_property_set, ["greenMultiplier"]);
Tweener.registerSpecialProperty("_color_gb", _color_property_get, _color_property_set, ["greenOffset"]);
Tweener.registerSpecialProperty("_color_ba", _color_property_get, _color_property_set, ["blueMultiplier"]);
Tweener.registerSpecialProperty("_color_bb", _color_property_get, _color_property_set, ["blueOffset"]);
Tweener.registerSpecialProperty("_color_aa", _color_property_get, _color_property_set, ["alphaMultiplier"]);
Tweener.registerSpecialProperty("_color_ab", _color_property_get, _color_property_set, ["alphaOffset"]);
Tweener.registerSpecialProperty("_autoAlpha", _autoAlpha_get, _autoAlpha_set);
// Normal splitter properties
Tweener.registerSpecialPropertySplitter("_color", _color_splitter);
Tweener.registerSpecialPropertySplitter("_colorTransform", _colorTransform_splitter);
// Scale splitter properties
Tweener.registerSpecialPropertySplitter("_scale", _scale_splitter);
// Filter tweening properties - BlurFilter
Tweener.registerSpecialProperty("_blur_blurX", _filter_property_get, _filter_property_set, [BlurFilter, "blurX"]);
Tweener.registerSpecialProperty("_blur_blurY", _filter_property_get, _filter_property_set, [BlurFilter, "blurY"]);
Tweener.registerSpecialProperty("_blur_quality", _filter_property_get, _filter_property_set, [BlurFilter, "quality"]);
// Filter tweening splitter properties
Tweener.registerSpecialPropertySplitter("_filter", _filter_splitter);
// Bezier modifiers
Tweener.registerSpecialPropertyModifier("_bezier", _bezier_modifier, _bezier_get);
}
// ==================================================================================================================================
// PROPERTY GROUPING/SPLITTING functions --------------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------------------------------------------------
// _color
/**
* Splits the _color parameter into specific color variables
*
* @param p_value Number The original _color value
* @return Array An array containing the .name and .value of all new properties
*/
public static function _color_splitter (p_value:*, p_parameters:Array):Array {
var nArray:Array = new Array();
if (p_value == null) {
// No parameter passed, so just resets the color
nArray.push({name:"_color_ra", value:1});
nArray.push({name:"_color_rb", value:0});
nArray.push({name:"_color_ga", value:1});
nArray.push({name:"_color_gb", value:0});
nArray.push({name:"_color_ba", value:1});
nArray.push({name:"_color_bb", value:0});
} else {
// A color tinting is passed, so converts it to the object values
nArray.push({name:"_color_ra", value:0});
nArray.push({name:"_color_rb", value:AuxFunctions.numberToR(p_value)});
nArray.push({name:"_color_ga", value:0});
nArray.push({name:"_color_gb", value:AuxFunctions.numberToG(p_value)});
nArray.push({name:"_color_ba", value:0});
nArray.push({name:"_color_bb", value:AuxFunctions.numberToB(p_value)});
}
return nArray;
}
// ----------------------------------------------------------------------------------------------------------------------------------
// _colorTransform
/**
* Splits the _colorTransform parameter into specific color variables
*
* @param p_value Number The original _colorTransform value
* @return Array An array containing the .name and .value of all new properties
*/
public static function _colorTransform_splitter (p_value:*, p_parameters:Array):Array {
var nArray:Array = new Array();
if (p_value == null) {
// No parameter passed, so just resets the color
nArray.push({name:"_color_ra", value:1});
nArray.push({name:"_color_rb", value:0});
nArray.push({name:"_color_ga", value:1});
nArray.push({name:"_color_gb", value:0});
nArray.push({name:"_color_ba", value:1});
nArray.push({name:"_color_bb", value:0});
} else {
// A color tinting is passed, so converts it to the object values
if (p_value.ra != undefined) nArray.push({name:"_color_ra", value:p_value.ra});
if (p_value.rb != undefined) nArray.push({name:"_color_rb", value:p_value.rb});
if (p_value.ga != undefined) nArray.push({name:"_color_ba", value:p_value.ba});
if (p_value.gb != undefined) nArray.push({name:"_color_bb", value:p_value.bb});
if (p_value.ba != undefined) nArray.push({name:"_color_ga", value:p_value.ga});
if (p_value.bb != undefined) nArray.push({name:"_color_gb", value:p_value.gb});
if (p_value.aa != undefined) nArray.push({name:"_color_aa", value:p_value.aa});
if (p_value.ab != undefined) nArray.push({name:"_color_ab", value:p_value.ab});
}
return nArray;
}
// ----------------------------------------------------------------------------------------------------------------------------------
// scale
public static function _scale_splitter(p_value:Number, p_parameters:Array) : Array{
var nArray:Array = new Array();
nArray.push({name:"scaleX", value: p_value});
nArray.push({name:"scaleY", value: p_value});
return nArray;
}
// ----------------------------------------------------------------------------------------------------------------------------------
// filters
/**
* Splits the _filter, _blur, etc parameter into specific filter variables
*
* @param p_value BitmapFilter A BitmapFilter instance
* @return Array An array containing the .name and .value of all new properties
*/
public static function _filter_splitter (p_value:BitmapFilter, p_parameters:Array):Array {
var nArray:Array = new Array();
if (p_value is BlurFilter) {
nArray.push({name:"_blur_blurX", value:BlurFilter(p_value).blurX});
nArray.push({name:"_blur_blurY", value:BlurFilter(p_value).blurY});
nArray.push({name:"_blur_quality", value:BlurFilter(p_value).quality});
} else {
// ?
trace ("??");
}
return nArray;
}
// ==================================================================================================================================
// NORMAL SPECIAL PROPERTY functions ------------------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------------------------------------------------
// _frame
/**
* Returns the current frame number from the movieclip timeline
*
* @param p_obj Object MovieClip object
* @return Number The current frame
*/
public static function frame_get (p_obj:Object):Number {
return p_obj.currentFrame;
}
/**
* Sets the timeline frame
*
* @param p_obj Object MovieClip object
* @param p_value Number New frame number
*/
public static function frame_set (p_obj:Object, p_value:Number):void {
p_obj.gotoAndStop(Math.round(p_value));
}
// ----------------------------------------------------------------------------------------------------------------------------------
// _sound_volume
/**
* Returns the current sound volume
*
* @param p_obj Object Sound object
* @return Number The current volume
*/
public static function _sound_volume_get (p_obj:Object):Number {
return p_obj.soundTransform.volume;
}
/**
* Sets the sound volume
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -