mako 0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/mako +133 -0
- data/lib/mako/build.rb +336 -0
- data/lib/mako/data/flash_widget_dev_core/Dependencies.txt +10 -0
- data/lib/mako/data/flash_widget_dev_core/libs/Degrafa_.2.11.swc +0 -0
- data/lib/mako/data/flash_widget_dev_core/libs/KogneatoGraphics.swc +0 -0
- data/lib/mako/data/flash_widget_dev_core/libs/KogneatoSymbols.swc +0 -0
- data/lib/mako/data/flash_widget_dev_core/libs/flash.swc +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/images/RichTextEditor.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/fonts/ARLRDBD.TTF +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/fonts/FTD_____.TTF +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/fonts/verdana.ttf +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/fonts/verdanab.ttf +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/fonts/verdanai.ttf +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/fonts/verdanaz.ttf +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/DefaultError.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/barbgfill.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/barshadow.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/bold.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/bullets.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/center.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/close-x.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/fullscreenPopup_close.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/gameTypeIcons/mc.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/gameTypeIcons/mc2.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/gameTypeIcons/mc3.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/gameTypeIcons/qa.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/gameTypeIcons/so.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/importIcon.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/italic.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/justify.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/kogLogo.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/left.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/oml-href-disabled.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/oml-href.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/oml-pagelink-disabled.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/oml-pagelink.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/oml-tooltip-delete.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/oml-tooltip-disabled.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/oml-tooltip-edit.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/oml-tooltip.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/pencil.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/right.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/underline.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/videoPlayButton.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/videoPlayerPauseButton.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/videoPlayerPauseButton_over.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/videoPlayerPlayButton.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/videoPlayerPlayButton_over.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/videoPlayerSoundButton.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/images/videoPlayerSoundButton_over.png +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/styles/creatorStyle.css +57 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/styles/style.css +929 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/swf/embeddedfonts.swf +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/swf/helpBubble.swf +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/swf/kogneatoSymbols.swf +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/assets/materia/swf/videobg.swf +0 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/LICENSE.txt +27 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/mxeffects/CubeRotate.as +48 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/mxeffects/Distortion.as +168 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/mxeffects/DistortionConstants.as +16 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/mxeffects/Door.as +57 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/mxeffects/Flip.as +62 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/mxeffects/Gate.as +57 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/mxeffects/Pop.as +53 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/mxeffects/Push.as +48 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/mxeffects/SimpleDistortion.as +619 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/mxeffects/effectClasses/CubeRotateInstance.as +94 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/mxeffects/effectClasses/DistortBaseInstance.as +258 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/mxeffects/effectClasses/DoorInstance.as +116 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/mxeffects/effectClasses/FlipInstance.as +79 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/mxeffects/effectClasses/GateInstance.as +163 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/mxeffects/effectClasses/PopInstance.as +91 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/mxeffects/effectClasses/PushInstance.as +76 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/util/DisplayObjectBounds.as +64 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/util/DisplayObjectBoundsUtil.as +42 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/ac/util/SimpleDisplayObjectBoundsUtil.as +60 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/crypto/HMAC.as +108 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/crypto/MD5.as +250 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/crypto/MD5Stream.as +343 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/crypto/SHA1.as +250 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/crypto/SHA224.as +226 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/crypto/SHA256.as +229 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/crypto/WSSEUsernameToken.as +100 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/effects/SaturationFade.as +107 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/effects/SaturationFadeInstance.as +178 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/effects/SaturationFadePopUpBlocker.as +88 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/errors/IllegalStateError.as +57 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/fileformats/vcard/Address.as +41 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/fileformats/vcard/Email.as +34 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/fileformats/vcard/Phone.as +34 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/fileformats/vcard/VCard.as +47 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/fileformats/vcard/VCardParser.as +234 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/images/BitString.as +34 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/images/JPGEncoder.as +584 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/images/PNGEncoder.as +133 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/net/DynamicURLLoader.as +48 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/net/IURIResolver.as +70 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/net/MimeTypeMap.as +192 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/net/URI.as +2139 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/net/URIEncodingBitmap.as +122 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/net/proxies/RFC2817Socket.as +179 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/Database.as +55 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/Definition.as +59 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/Dict.as +322 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/DictionaryServer.as +50 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/MatchStrategy.as +55 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/Response.as +59 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/events/ConnectedEvent.as +44 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/events/DatabaseEvent.as +54 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/events/DefinitionEvent.as +55 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/events/DefinitionHeaderEvent.as +55 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/events/DictionaryServerEvent.as +55 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/events/DisconnectedEvent.as +44 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/events/ErrorEvent.as +64 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/events/MatchEvent.as +54 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/events/MatchStrategiesEvent.as +56 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/events/NoMatchEvent.as +44 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/util/CompleteResponseEvent.as +55 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/protocols/dict/util/SocketHelper.as +70 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/serialization/json/JSON.as +76 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/serialization/json/JSONDecoder.as +303 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/serialization/json/JSONEncoder.as +277 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/serialization/json/JSONParseError.as +79 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/serialization/json/JSONToken.as +79 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/serialization/json/JSONTokenType.as +49 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/serialization/json/JSONTokenizer.as +605 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/utils/ArrayUtil.as +166 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/utils/DateUtil.as +657 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/utils/DictionaryUtil.as +73 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/utils/IntUtil.as +85 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/utils/NumberFormatter.as +63 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/utils/StringUtil.as +220 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/utils/XMLUtil.as +148 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/webapis/ServiceBase.as +39 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/webapis/URLLoaderBase.as +93 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/adobe/webapis/events/ServiceEvent.as +67 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/geom/ColorMatrix.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/GTween.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/GTweenTimeline.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/GTweener.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/easing/Back.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/easing/Bounce.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/easing/Circular.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/easing/Cubic.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/easing/Elastic.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/easing/Exponential.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/easing/Linear.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/easing/Quadratic.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/easing/Quartic.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/easing/Quintic.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/easing/Sine.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/plugins/AutoHidePlugin.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/plugins/BlurPlugin.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/plugins/ColorAdjustPlugin.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/plugins/ColorTransformPlugin.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/plugins/CurrentFramePlugin.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/plugins/IGTweenPlugin.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/plugins/MatrixPlugin.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/plugins/MotionBlurPlugin.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/plugins/SmartRotationPlugin.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/plugins/SnappingPlugin.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/motion/plugins/SoundTransformPlugin.as +1 -0
- data/lib/mako/data/flash_widget_dev_core/src/com/gskinner/utils/SWFBridgeAS3.as +83 -0
- data/lib/mako/data/flash_widget_dev_core/src/etc/GUID.as +82 -0
- data/lib/mako/data/flash_widget_dev_core/src/etc/MathExt.as +114 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/OverwriteManager.as +143 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/TweenFilterLite.as +502 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/TweenLite.as +512 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/TweenMax.as +987 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/easing/Back.as +14 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/easing/Bounce.as +22 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/easing/Circ.as +14 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/easing/Cubic.as +14 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/easing/Elastic.as +27 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/easing/Expo.as +16 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/easing/Linear.as +16 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/easing/Quad.as +14 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/easing/Quart.as +14 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/easing/Quint.as +14 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/easing/Sine.as +14 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/easing/Strong.as +14 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/easing/easing_readme.txt +14 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/events/TweenEvent.as +26 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/utils/tween/BevelFilterVars.as +63 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/utils/tween/BlurFilterVars.as +42 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/utils/tween/ColorMatrixFilterVars.as +86 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/utils/tween/DropShadowFilterVars.as +66 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/utils/tween/GlowFilterVars.as +57 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/utils/tween/TweenFilterLiteVars.as +93 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/utils/tween/TweenLiteVars.as +269 -0
- data/lib/mako/data/flash_widget_dev_core/src/gs/utils/tween/TweenMaxVars.as +103 -0
- data/lib/mako/data/flash_widget_dev_core/src/it/animation/TweenEvent.as +17 -0
- data/lib/mako/data/flash_widget_dev_core/src/it/animation/TweenObject.as +27 -0
- data/lib/mako/data/flash_widget_dev_core/src/it/animation/TweenSingleton.as +86 -0
- data/lib/mako/data/flash_widget_dev_core/src/it/animation/methods/Constant.as +7 -0
- data/lib/mako/data/flash_widget_dev_core/src/it/animation/methods/FastSlow.as +7 -0
- data/lib/mako/data/flash_widget_dev_core/src/it/animation/methods/FastSlowFast.as +8 -0
- data/lib/mako/data/flash_widget_dev_core/src/it/animation/methods/Shake.as +12 -0
- data/lib/mako/data/flash_widget_dev_core/src/it/animation/methods/SlowFast.as +7 -0
- data/lib/mako/data/flash_widget_dev_core/src/it/animation/methods/SlowFastSlow.as +8 -0
- data/lib/mako/data/flash_widget_dev_core/src/jac/image/ImageUtils.as +173 -0
- data/lib/mako/data/flash_widget_dev_core/src/jac/image/ResizeStyle.as +52 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/CreatorBase.mxml +504 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/CreatorConfig.as +45 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/CreatorEvents.as +38 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/Dialog.as +35 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/MateriaButton.as +35 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/PopUpAlert.mxml +271 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/GradientBackground.as +41 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/PercentField.mxml +104 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/ScrollableSizableImage.mxml +654 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/TextAreaWithDefaultText.mxml +94 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/TextInputWithDefaultText.mxml +94 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/VertCenterTextRenderer.mxml +37 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/importer/ImportEvent.as +22 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/importer/itemRenderers/CheckBoxColumn.mxml +23 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/importer/questions/QuestionDetails.mxml +68 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/importer/questions/QuestionDisplay.mxml +38 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/importer/questions/QuestionsDataGrid.mxml +247 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/importer/questions/QuestionsDataGridEvent.as +20 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/questionAnswerDataGrid/QuestionAnswerColumn.as +13 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/questionAnswerDataGrid/QuestionAnswerDataGrid.mxml +692 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/questionAnswerDataGrid/TextInputItem.mxml +584 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/questionAnswerDataGrid/TextInputObject.as +28 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/toolTips/KogneatoToolTip.as +196 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/components/toolTips/TipManager.as +150 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/help/HelpBubble.mxml +245 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/help/HelpDot.mxml +21 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/help/HelpManager.as +92 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/help/HelpObject.as +33 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/help/IHelpGuided.as +7 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/media/ImageCacherImage.mxml +56 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/media/MateriaUploader.as +61 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/questionStorage/Question.as +386 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/questionStorage/QuestionGroup.as +313 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/questionStorage/QuestionSet.as +21 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/toolTips/KogneatoToolTip.as +196 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/toolTips/TipManager.as +150 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/utils/CommonUtils.as +186 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/utils/DateUtils.as +273 -0
- data/lib/mako/data/flash_widget_dev_core/src/materia/utils/ImageCacher.as +93 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/arrays/Randomize.as +19 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/arrays/SimpleClone.as +32 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/draw/Color.as +102 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/draw/Draw.as +65 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/draw/lines/Dashed.as +48 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/draw/lines/Dotted.as +83 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/draw/shapes/Check.as +27 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/draw/shapes/Rect.as +12 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/draw/shapes/RectBevel.as +35 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/draw/shapes/RectBorder.as +39 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/draw/shapes/RectRound.as +33 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/draw/shapes/RectRoundBorder.as +62 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/draw/shapes/TriangleEquilateral.as +25 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/draw/shapes/X.as +28 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/errors/ScoringError.as +10 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/errors/StorageError.as +10 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/events/ButtonEvent.as +25 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/events/PayloadEvent.as +14 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/events/StandardEvent.as +26 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/gameServ/common/Question.as +72 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/gameServ/common/QuestionGroup.as +87 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/gameServ/common/QuestionSet.as +35 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/gameServ/common/WidgetSettings.as +14 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/gameServ/common/coms/ServerEvents.as +17 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/gameServ/common/coms/ServerMessageEvent.as +31 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/gameServ/common/logging/Log.as +92 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/gameServ/common/scoring/Scoring.as +87 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/gameServ/common/storage/StorageManager.as +91 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/gameServ/common/storage/StorageTable.as +72 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/gameServ/engines/EngineCore.as +222 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/geom/Dimension.as +76 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/respondus/Respondus.as +612 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/respondus/RespondusAnswer.as +11 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/respondus/RespondusError.as +18 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/respondus/RespondusQuestion.as +43 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/respondus/RespondusQuiz.as +68 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/AlertWindow.as +182 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/BlueButton.as +102 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/Button.as +88 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/Button_base.as +168 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/Component.as +98 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/ContentBlocker.as +38 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/FlexUIScaler.as +59 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/FormInput.as +191 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/GrabZoomClip.as +305 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/HelpLayer.as +55 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/Label.as +25 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/List.as +62 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/List_Base.as +644 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/ProcessingBar.as +112 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/ProgressBar.as +35 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/ProgressBar_base.as +69 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/ScrollBar.as +163 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/ScrollBar_base.as +378 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/ScrollClip.as +468 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/ScrollText.as +29 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/ScrollText_base.as +295 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/SimpleScrollBar.as +247 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/StageRef.as +34 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/StorageTank.as +233 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/StorageTankHorizontal.as +109 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/ToolTip.as +930 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/TweeningDragDropBankList.as +503 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/Window.as +144 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/Window_base.as +385 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/layout/CenterScale.as +27 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/layout/WindowManager.as +163 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/ui/layout/WindowStage.as +96 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/util/BitField.as +99 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/util/ObjPeek.as +148 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/util/Objects.as +49 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/util/Printer.as +548 -0
- data/lib/mako/data/flash_widget_dev_core/src/nm/util/StringUtil.as +12 -0
- data/lib/mako/data/flash_widget_dev_core/src/org/rubyamf/remoting/ssr/FaultEvent.as +37 -0
- data/lib/mako/data/flash_widget_dev_core/src/org/rubyamf/remoting/ssr/RemotingCall.as +211 -0
- data/lib/mako/data/flash_widget_dev_core/src/org/rubyamf/remoting/ssr/RemotingConnection.as +41 -0
- data/lib/mako/data/flash_widget_dev_core/src/org/rubyamf/remoting/ssr/RemotingService.as +214 -0
- data/lib/mako/data/flash_widget_dev_core/src/org/rubyamf/remoting/ssr/ResultEvent.as +36 -0
- data/lib/mako/data/flash_widget_dev_core/src/sandy/util/DistortImage.as +281 -0
- data/lib/mako/data/flash_widget_dev_core/src/sandy/util/SandyPoint.as +29 -0
- data/lib/mako/data/flash_widget_dev_core/src/sandy/util/Triangle.as +32 -0
- data/lib/mako/data/html/thistest.html +0 -0
- data/lib/mako/data/template_creator/src/Creator.mxml +138 -0
- data/lib/mako/data/template_creator/src/assets/images/RichTextEditor.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/DefaultError.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/barbgfill.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/barshadow.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/bold.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/bullets.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/center.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/close-x.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/fullscreenPopup_close.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/importIcon.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/italic.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/justify.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/left.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/oml-href-disabled.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/oml-href.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/oml-pagelink-disabled.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/oml-pagelink.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/oml-tooltip-delete.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/oml-tooltip-disabled.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/oml-tooltip-edit.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/oml-tooltip.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/pencil.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/right.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/underline.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/videoPlayButton.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/videoPlayerPauseButton.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/videoPlayerPauseButton_over.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/videoPlayerPlayButton.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/videoPlayerPlayButton_over.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/videoPlayerSoundButton.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/images/videoPlayerSoundButton_over.png +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/styles/creatorStyle.css +63 -0
- data/lib/mako/data/template_creator/src/assets/materia/styles/style.css +1127 -0
- data/lib/mako/data/template_creator/src/assets/materia/swf/embeddedfonts.swf +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/swf/helpBubble.swf +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/swf/kogneatoSymbols.swf +0 -0
- data/lib/mako/data/template_creator/src/assets/materia/swf/videobg.swf +0 -0
- data/lib/mako/data/template_creator/src/components/SmallRichTextEditor.mxml +678 -0
- data/lib/mako/data/template_creator/src/components/SmallRichTextEditorToolbar.mxml +133 -0
- data/lib/mako/data/templates/html/README.md +11 -0
- data/lib/mako/data/templates/html/_creator/build.yaml +12 -0
- data/lib/mako/data/templates/html/_creator/creator.html +19 -0
- data/lib/mako/data/templates/html/_creator/css/creator.less +29 -0
- data/lib/mako/data/templates/html/_creator/js/creator.coffee +122 -0
- data/lib/mako/data/templates/html/_creator/test.html +0 -0
- data/lib/mako/data/templates/html/_engine/build.yaml +12 -0
- data/lib/mako/data/templates/html/_engine/css/widget.scss +18 -0
- data/lib/mako/data/templates/html/_engine/js/widget.coffee +143 -0
- data/lib/mako/data/templates/html/_engine/widget.html +21 -0
- data/lib/mako/data/templates/html/_icons/icon-275.png +0 -0
- data/lib/mako/data/templates/html/_icons/icon-394.png +0 -0
- data/lib/mako/data/templates/html/_icons/icon-60.png +0 -0
- data/lib/mako/data/templates/html/_icons/icon-92.png +0 -0
- data/lib/mako/data/templates/html/_score/score_module.php +48 -0
- data/lib/mako/data/templates/html/_score/test_score_module.php +157 -0
- data/lib/mako/data/templates/html/_screen-shots/1-thumb.png +0 -0
- data/lib/mako/data/templates/html/_screen-shots/1.png +0 -0
- data/lib/mako/data/templates/html/_screen-shots/2-thumb.png +0 -0
- data/lib/mako/data/templates/html/_screen-shots/2.png +0 -0
- data/lib/mako/data/templates/html/_screen-shots/3-thumb.png +0 -0
- data/lib/mako/data/templates/html/_screen-shots/3.png +0 -0
- data/lib/mako/data/templates/html/build.yaml +4 -0
- data/lib/mako/data/templates/html/demo.yaml +7 -0
- data/lib/mako/data/templates/html/install.yaml +94 -0
- data/lib/mako/path.rb +48 -0
- data/lib/mako/scaffold.rb +69 -0
- metadata +597 -0
@@ -0,0 +1,987 @@
|
|
1
|
+
/*
|
2
|
+
VERSION: 2.31
|
3
|
+
DATE: 9/8/2008
|
4
|
+
ACTIONSCRIPT VERSION: 3.0 (AS2 version is also available)
|
5
|
+
UPDATES & MORE DETAILED DOCUMENTATION AT: http://www.TweenMax.com
|
6
|
+
DESCRIPTION:
|
7
|
+
TweenMax builds on top of the TweenLite core class and its big brother, TweenFilterLite, to round out the tweening family with popular
|
8
|
+
(though not essential) features like bezier tweening, pause/resume capabilities, easier sequencing, hex color tweening, and more.
|
9
|
+
TweenMax uses the same easy-to-learn syntax as its siblings. In fact, since it extends them, TweenMax can do anything TweenLite
|
10
|
+
and/or TweenFilterLite can do, plus more. So why build 3 classes instead of one? Good question. The goal was to maximize efficiency
|
11
|
+
and minimize file size. Frankly, TweenLite is probably all most developers will need for 90% of their projects, and it only takes
|
12
|
+
up 3k. It's extremely efficient and compact considering its features. But if you need to tween filters or rich imaging effects
|
13
|
+
like saturation, contrast, hue, colorization, etc., step up to TweenFilterLite at 6k (total). Still need more? No problem - use
|
14
|
+
TweenMax to add extra features jam-packed into 11k (total). See the feature comparison chart at www.TweenMax.com for more info.
|
15
|
+
TweenMax introduces an innovative feature called "bezierThrough" that allows you to define points through which you want the
|
16
|
+
bezier curve to travel (instead of normal control points that simply attract the curve). Or use regular bezier curves - whichever
|
17
|
+
you prefer.
|
18
|
+
To see a feature comparison chart, go to http://www.tweenmax.com
|
19
|
+
ARGUMENTS:
|
20
|
+
1) $target : Object - Target object whose properties we're tweening
|
21
|
+
2) $duration : Number - Duration (in seconds) of the tween
|
22
|
+
3) $vars : Object - An object containing the end values of all the properties you'd like to have tweened (or if you're using the
|
23
|
+
TweenMax.from() method, these variables would define the BEGINNING values). For example:
|
24
|
+
alpha: The alpha (opacity level) that the target object should finish at (or begin at if you're
|
25
|
+
using TweenMax.from()). For example, if the target_obj.alpha is 1 when this script is
|
26
|
+
called, and you specify this argument to be 0.5, it'll transition from 1 to 0.5.
|
27
|
+
x: To change a MovieClip's x position, just set this to the value you'd like the MovieClip to
|
28
|
+
end up at (or begin at if you're using TweenMax.from()).
|
29
|
+
SPECIAL PROPERTIES:
|
30
|
+
delay : Number - Amount of delay before the tween should begin (in seconds).
|
31
|
+
ease : Function - You can specify a function to use for the easing with this variable. For example,
|
32
|
+
fl.motion.easing.Elastic.easeOut. The Default is Regular.easeOut.
|
33
|
+
easeParams : Array - An array of extra parameters to feed the easing equation. This can be useful when you
|
34
|
+
use an equation like Elastic and want to control extra parameters like the amplitude and period.
|
35
|
+
Most easing equations, however, don't require extra parameters so you won't need to pass in any easeParams.
|
36
|
+
autoAlpha : Number - Use it instead of the alpha property to gain the additional feature of toggling
|
37
|
+
the visible property to false when alpha reaches 0. It will also toggle visible
|
38
|
+
to true before the tween starts if the value of autoAlpha is greater than zero.
|
39
|
+
visible : Boolean - To set a DisplayObject's "visible" property at the end of the tween, use this special property.
|
40
|
+
volume : Number - Tweens the volume of an object with a soundTransform property (MovieClip/SoundChannel/NetStream, etc.)
|
41
|
+
tint : Number - To change a DisplayObject's tint/color, set this to the hex value of the tint you'd like
|
42
|
+
to end up at(or begin at if you're using TweenMax.from()). An example hex value would be 0xFF0000.
|
43
|
+
removeTint : Boolean - If you'd like to remove the tint that's applied to a DisplayObject, pass true for this special property.
|
44
|
+
frame : Number - Use this to tween a MovieClip to a particular frame.
|
45
|
+
bezier : Array - Bezier tweening allows you to tween in a non-linear way. For example, you may want to tween
|
46
|
+
a MovieClip's position from the origin (0,0) 500 pixels to the right (500,0) but curve downwards
|
47
|
+
through the middle of the tween. Simply pass as many objects in the bezier array as you'd like,
|
48
|
+
one for each "control point" (see documentation on Flash's curveTo() drawing method for more
|
49
|
+
about how control points work). In this example, let's say the control point would be at x/y coordinates
|
50
|
+
250,50. Just make sure your my_mc is at coordinates 0,0 and then do:
|
51
|
+
TweenMax.to(my_mc, 3, {_x:500, _y:0, bezier:[{_x:250, _y:50}]});
|
52
|
+
bezierThrough : Array - Identical to bezier except that instead of passing bezier control point values, you
|
53
|
+
pass points through which the bezier values should move. This can be more intuitive
|
54
|
+
than using control points.
|
55
|
+
orientToBezier : Array (or Boolean) - A common effect that designers/developers want is for a MovieClip/Sprite to
|
56
|
+
orient itself in the direction of a Bezier path (alter its rotation). orientToBezier
|
57
|
+
makes it easy. In order to alter a rotation property accurately, TweenMax needs 4 pieces
|
58
|
+
of information:
|
59
|
+
1) Position property 1 (typically "x")
|
60
|
+
2) Position property 2 (typically "y")
|
61
|
+
3) Rotational property (typically "rotation")
|
62
|
+
4) Number of degrees to add (optional - makes it easy to orient your MovieClip properly)
|
63
|
+
The orientToBezier property should be an Array containing one Array for each set of these values.
|
64
|
+
For maximum flexibility, you can pass in any number of arrays inside the container array, one
|
65
|
+
for each rotational property. This can be convenient when working in 3D because you can rotate
|
66
|
+
on multiple axis. If you're doing a standard 2D x/y tween on a bezier, you can simply pass
|
67
|
+
in a boolean value of true and TweenMax will use a typical setup, [["x", "y", "rotation", 0]].
|
68
|
+
Hint: Don't forget the container Array (notice the double outer brackets)
|
69
|
+
hexColors : Object - Although hex colors are technically numbers, if you try to tween them conventionally,
|
70
|
+
you'll notice that they don't tween smoothly. To tween them properly, the red, green, and
|
71
|
+
blue components must be extracted and tweened independently. TweenMax makes it easy. To tween
|
72
|
+
a property of your object that's a hex color to another hex color, use this special hexColors
|
73
|
+
property of TweenMax. It must be an OBJECT with properties named the same as your object's
|
74
|
+
hex color properties. For example, if your my_obj object has a "myHexColor" property that you'd like
|
75
|
+
to tween to red (0xFF0000) over the course of 2 seconds, do:
|
76
|
+
TweenMax.to(my_obj, 2, {hexColors:{myHexColor:0xFF0000}});
|
77
|
+
You can pass in any number of hexColor properties.
|
78
|
+
onStart : Function - If you'd like to call a function as soon as the tween begins, pass in a reference to it here.
|
79
|
+
This is useful for when there's a delay.
|
80
|
+
onStartParams : Array - An array of parameters to pass the onStart function. (this is optional)
|
81
|
+
onStartListener : Function - A function to which the TweenMax instance should dispatch a TweenEvent when it begins.
|
82
|
+
This is the same as doing myTweenMaxInstance.addEventListener(TweenEvent.START, myFunction);
|
83
|
+
onUpdate : Function - If you'd like to call a function every time the property values are updated (on every frame during
|
84
|
+
the time the tween is active), pass a reference to it here.
|
85
|
+
onUpdateParams : Array - An array of parameters to pass the onUpdate function (this is optional)
|
86
|
+
onUpdateListener : Function - A function to which the TweenMax instance should dispatch a TweenEvent every time it updates values.
|
87
|
+
This is the same as doing myTweenMaxInstance.addEventListener(TweenEvent.UPDATE, myFunction);
|
88
|
+
onComplete : Function - If you'd like to call a function when the tween has finished, use this.
|
89
|
+
onCompleteParams : Array - An array of parameters to pass the onComplete function (this is optional)
|
90
|
+
onCompleteListener : Function - A function to which the TweenMax instance should dispatch a TweenEvent when it completes.
|
91
|
+
This is the same as doing myTweenMaxInstance.addEventListener(TweenEvent.COMPLETE, myFunction);
|
92
|
+
yoyo : Boolean - To make the tween continuously loop backwards and forwards like a yoyo, set this to true.
|
93
|
+
loop : Boolean - To make the tween continuously loop itself, set this to true.
|
94
|
+
persist : Boolean - if true, the TweenLite instance will NOT automatically be removed by the garbage collector when it is complete.
|
95
|
+
However, it is still eligible to be overwritten by new tweens even if persist is true. By default, it is false.
|
96
|
+
renderOnStart : Boolean - If you're using TweenFilterLite.from() with a delay and want to prevent the tween from rendering until it
|
97
|
+
actually begins, set this to true. By default, it's false which causes TweenMax.from() to render
|
98
|
+
its values immediately, even before the delay has expired.
|
99
|
+
timeScale : Number - Multiplier that controls the speed of the tween (perceived duration) where 1 = normal speed, 0.5 = half speed, 2 = double speed, etc.
|
100
|
+
NOTE: There is also a static TweenMax.globalTimeScale property that affects ALL TweenMax and TweenFilterLite tweens (not TweenLite though)
|
101
|
+
overwrite : int - Controls how other tweens of the same object are handled when this tween is created. Here are the options:
|
102
|
+
- 0 (NONE): No tweens are overwritten. This is the fastest mode, but you need to be careful not to create any
|
103
|
+
tweens with overlapping properties, otherwise they'll conflict with each other.
|
104
|
+
- 1 (ALL): (this is the default unless OverwriteManager.init() has been called) All tweens of the same object
|
105
|
+
are completely overwritten immediately when the tween is created.
|
106
|
+
TweenLite.to(mc, 1, {x:100, y:200});
|
107
|
+
TweenLite.to(mc, 1, {x:300, delay:2, overwrite:1}); //immediately overwrites the previous tween
|
108
|
+
- 2 (AUTO): (used by default if OverwriteManager.init() has been called) Searches for and overwrites only
|
109
|
+
individual overlapping properties in tweens that are active when the tween begins.
|
110
|
+
TweenLite.to(mc, 1, {x:100, y:200});
|
111
|
+
TweenLite.to(mc, 1, {x:300, overwrite:2}); //only overwrites the "x" property in the previous tween
|
112
|
+
- 3 (CONCURRENT): Overwrites all tweens of the same object that are active when the tween begins.
|
113
|
+
TweenLite.to(mc, 1, {x:100, y:200});
|
114
|
+
TweenLite.to(mc, 1, {x:300, delay:2, overwrite:3}); //does NOT overwrite the previous tween because the first tween will have finished by the time this one begins.
|
115
|
+
blurFilter : Object - To apply a BlurFilter, pass an object with one or more of the following properties:
|
116
|
+
blurX, blurY, quality
|
117
|
+
glowFilter : Object - To apply a GlowFilter, pass an object with one or more of the following properties:
|
118
|
+
alpha, blurX, blurY, color, strength, quality, inner, knockout
|
119
|
+
colorMatrixFilter : Object - To apply a ColorMatrixFilter, pass an object with one or more of the following properties:
|
120
|
+
colorize, amount, contrast, brightness, saturation, hue, threshold, relative, matrix
|
121
|
+
dropShadowFilter : Object - To apply a ColorMatrixFilter, pass an object with one or more of the following properties:
|
122
|
+
alpha, angle, blurX, blurY, color, distance, strength, quality
|
123
|
+
bevelFilter : Object - To apply a BevelFilter, pass an object with one or more of the following properties:
|
124
|
+
angle, blurX, blurY, distance, highlightAlpha, highlightColor, shadowAlpha, shadowColor, strength, quality
|
125
|
+
KEY PROPERTIES:
|
126
|
+
- progress : Number (0 - 1 where 0 = tween hasn't progressed, 0.5 = tween is halfway done, and 1 = tween is finished)
|
127
|
+
- timeScale : Number (Multiplier that controls the speed of the tween where 1 = normal speed, 0.5 = half speed, 2 = double speed, etc. )
|
128
|
+
- paused : Boolean
|
129
|
+
- reversed : Boolean
|
130
|
+
KEY METHODS:
|
131
|
+
- TweenMax.to(target:Object, duration:Number, vars:Object):TweenMax
|
132
|
+
- TweenMax.from(target:Object, duration:Number, vars:Object):TweenMax
|
133
|
+
- TweenMax.allTo(targets:Array, duration:Number, vars:Object):Array
|
134
|
+
- TweenMax.allFrom(targets:Array, duration:Number, vars:Object):Array
|
135
|
+
- TweenMax.sequence(target:Object, tweens:Array):Array
|
136
|
+
- TweenMax.multiSequence(tweens:Array):Array
|
137
|
+
- TweenMax.getTweensOf(target:Object):Array
|
138
|
+
- TweenMax.isTweening(target:Object):Boolean
|
139
|
+
- TweenMax.getAllTweens():Array
|
140
|
+
- TweenMax.killAllTweens(complete:Boolean):void
|
141
|
+
- TweenMax.killAllDelayedCalls(complete:Boolean):void
|
142
|
+
- TweenMax.pauseAll(tweens:Boolean, delayedCalls:Boolean):void
|
143
|
+
- TweenMax.resumeAll(tweens:Boolean, delayedCalls:Boolean):void
|
144
|
+
- TweenMax.delayedCall(delay:Number, function:Function, params:Array, persist:Boolean):TweenMax
|
145
|
+
- TweenMax.setGlobalTimeScale(scale:Number):void
|
146
|
+
- addEventListener(type:String, listener:Function, useCapture:Boolean, priority:int, useWeakReference:Boolean):void
|
147
|
+
- removeEventListener(type:String, listener:Function):void
|
148
|
+
- pause():void
|
149
|
+
- resume():void
|
150
|
+
- restart(includeDelay:Boolean):void
|
151
|
+
- reverse(adjustStart:Boolean):void
|
152
|
+
- setDestination(property:String, value:*, adjustStartValues:Boolean):void
|
153
|
+
- invalidate(adjustStartValues:Boolean):void
|
154
|
+
- killProperties(names:Array):void
|
155
|
+
EXAMPLES:
|
156
|
+
To set up a sequence where we fade a MovieClip to 50% opacity over the course of 2 seconds, and then slide it down
|
157
|
+
to y coordinate 300 over the course of 1 second:
|
158
|
+
import gs.TweenMax;
|
159
|
+
TweenMax.sequence(clip_mc, [{time:2, alpha:0.5}, {time:1, y:300}]);
|
160
|
+
To tween the clip_mc MovieClip over 5 seconds, changing the alpha to 0.5, the x to 120 using the Back.easeOut
|
161
|
+
easing function, delay starting the whole tween by 2 seconds, and then call a function named "onFinishTween" when
|
162
|
+
it has completed and pass in a few parameters to that function (a value of 5 and a reference to the clip_mc),
|
163
|
+
you'd do so like:
|
164
|
+
import gs.TweenMax;
|
165
|
+
import gs.easing.*;
|
166
|
+
TweenMax.to(clip_mc, 5, {alpha:0.5, x:120, ease:Back.easeOut, delay:2, onComplete:onFinishTween, onCompleteParams:[5, clip_mc]});
|
167
|
+
function onFinishTween(argument1:Number, argument2:MovieClip):void {
|
168
|
+
////trace("The tween has finished! argument1 = " + argument1 + ", and argument2 = " + argument2);
|
169
|
+
}
|
170
|
+
If you have a MovieClip on the stage that is already in it's end position and you just want to animate it into
|
171
|
+
place over 5 seconds (drop it into place by changing its y property to 100 pixels higher on the screen and
|
172
|
+
dropping it from there), you could:
|
173
|
+
import gs.TweenMax;
|
174
|
+
import gs.easing.*;
|
175
|
+
TweenMax.from(clip_mc, 5, {y:"-100", ease:Elastic.easeOut});
|
176
|
+
To set up an onUpdate listener (not callback) that traces the "progress" property of a tween, and another listener
|
177
|
+
that gets called when the tween completes, you could do:
|
178
|
+
import gs.TweenMax;
|
179
|
+
import gs.events.TweenEvent;
|
180
|
+
TweenMax.to(clip_mc, 2, {x:200, onUpdateListener:reportProgress, onCompleteListener:tweenFinished});
|
181
|
+
function reportProgress($e:TweenEvent):void {
|
182
|
+
////trace("tween progress: " + $e.target.progress);
|
183
|
+
}
|
184
|
+
function tweenFinished($e:TweenEvent):void {
|
185
|
+
////trace("tween finished!");
|
186
|
+
}
|
187
|
+
NOTES:
|
188
|
+
- Passing values as Strings will make the tween relative to the current value. For example, if you do
|
189
|
+
TweenMax.to(mc, 2, {x:"-20"}); it'll move the mc.x to the left 20 pixels which is the same as doing
|
190
|
+
TweenMax.to(mc, 2, {x:mc.x - 20}); You could also cast it like: TweenMax.to(mc, 2, {x:String(myVariable)});
|
191
|
+
- If you prefer, instead of using the onCompleteListener, onStartListener, and onUpdateListener special properties,
|
192
|
+
you can set up listeners the typical way, like:
|
193
|
+
var myTween:TweenMax = TweenMax.to(my_mc, 2, {x:200});
|
194
|
+
myTween.addEventListener(TweenEvent.COMPLETE, myFunction);
|
195
|
+
- To tween an Array, just pass in an Array as a property named endArray like:
|
196
|
+
var myArray:Array = [1,2,3,4];
|
197
|
+
TweenMax.to(myArray, 1.5, {endArray:[10,20,30,40]});
|
198
|
+
- You can kill all tweens of a particular object anytime with the TweenMax.killTweensOf(myObject); function.
|
199
|
+
If you want to have the tweens forced to completion, pass true as the second parameter, like TweenMax.killTweensOf(myObject, true);
|
200
|
+
- You can kill all delayedCalls to a particular function using TweenMax.killDelayedCallsTo(myFunction);
|
201
|
+
This can be helpful if you want to preempt a call.
|
202
|
+
- Use the TweenMax.from() method to animate things into place. For example, if you have things set up on
|
203
|
+
the stage in the spot where they should end up, and you just want to animate them into place, you can
|
204
|
+
pass in the beginning x and/or y and/or alpha (or whatever properties you want).
|
205
|
+
CHANGE LOG:
|
206
|
+
2.31:
|
207
|
+
- invalidate() reparses onCompleteListener, onUpdateListener, and onStartListener special properties now.
|
208
|
+
- If a tween completed without persist:true and the globalTimeScale was updated between that time and the time restart(), reverse(), or resume() was called, it could have an incorrect timeScale. That's fixed now.
|
209
|
+
2.3:
|
210
|
+
- Added setGlobalTimeScale() function to control the speed of all TweenFilterLite and TweenMax instances
|
211
|
+
- Added static "globalTimeScale" property to TweenMax and TweenFilterLite classes. You can even tween it like TweenLite.to(TweenMax, 1, {globalTimeScale:0.5});
|
212
|
+
- Changed timeScale so that it also affects the delay (if any)
|
213
|
+
2.26:
|
214
|
+
- Made restart(), reverse(), and resume() force the tween back into the rendering queue even if persist wasn't set to true.
|
215
|
+
2.24;
|
216
|
+
- Added "persist" parameter to delayedCall() so that you can reuse/restart them.
|
217
|
+
- Removed defaultEase from TweenMax because it was just a waste of Kb - use TweenLite.defaultEase to affect all default easing, even in TweenMax.
|
218
|
+
2.22:
|
219
|
+
- Added ability to include the delay when restart()-ing a tween.
|
220
|
+
2.2:
|
221
|
+
- Added "reversed" property
|
222
|
+
- Fixed incorrect progress reporting on paused tweens, and potential problem with reverse()-ing paused tweens.
|
223
|
+
2.19:
|
224
|
+
- Fixed bug on pause/resume functionality
|
225
|
+
2.17:
|
226
|
+
- Changed behavior of reverse() so that it automatically calls resume().
|
227
|
+
2.15:
|
228
|
+
- Fixed bug in overwrite management
|
229
|
+
- Fixed bug with tweens that have a zero-length duration
|
230
|
+
2.12:
|
231
|
+
- Fixed bug in timeScale
|
232
|
+
2.1:
|
233
|
+
- Added timeScale special property
|
234
|
+
2.06:
|
235
|
+
- Added the ability to overwrite only individual overlapping properties with the new OverwriteManager class
|
236
|
+
- Added setDestination() method
|
237
|
+
- Added killVars() method
|
238
|
+
- Added killProperties() method
|
239
|
+
- Added reverse() method
|
240
|
+
- Added restart() method
|
241
|
+
- Added invalidate() method that forces the vars to be re-parsed (and immediately rendered if the tween is active)
|
242
|
+
- Fixed bug in the onCompleteListener, onUpdateListener, and onStartListener special properties.
|
243
|
+
1.5:
|
244
|
+
- Added loop special property
|
245
|
+
- Added yoyo special property
|
246
|
+
1.46:
|
247
|
+
- Fixed pauseAll() error that occurred when TweenLite instances existed
|
248
|
+
- Improved compatibility with TweenMaxVars utility class (for strict data typing and code hinting)
|
249
|
+
- Speed optimizations
|
250
|
+
1.42:
|
251
|
+
- Added ability to tween the volume of any object that has a soundTransform property instead of just MoveiClips and SoundChannels. Now NetStream volumes can be tweened too.
|
252
|
+
1.41:
|
253
|
+
- Fixed delayedCall() error (removed onCompleteScope since it's not useful in AS3 anyway)
|
254
|
+
1.4:
|
255
|
+
- Added event dispatching (onCompleteListener, onUpdateListener, and onStartListener properties)
|
256
|
+
- Added "persist" special property
|
257
|
+
- Added "removeTint" special property
|
258
|
+
- Added compatibility with TweenMaxVars utility class
|
259
|
+
1.3:
|
260
|
+
- Added multiSequence() function, allowing you to sequence multiple items (sequence() only allows one target)
|
261
|
+
1.2:
|
262
|
+
- Added "visible" special property
|
263
|
+
CODED BY: Jack Doyle, jack@greensock.com
|
264
|
+
Copyright 2008, GreenSock (This work is subject to the terms in http://www.greensock.com/terms_of_use.html.)
|
265
|
+
*/
|
266
|
+
package gs {
|
267
|
+
import flash.events.Event;
|
268
|
+
import flash.events.EventDispatcher;
|
269
|
+
import flash.events.IEventDispatcher;
|
270
|
+
import flash.utils.*;
|
271
|
+
import gs.events.TweenEvent;
|
272
|
+
public class TweenMax extends TweenFilterLite implements IEventDispatcher {
|
273
|
+
public static var version:Number = 2.31;
|
274
|
+
protected static const _RAD2DEG:Number = 180 / Math.PI; //precalculate for speed
|
275
|
+
private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init(); //OverwriteManager is optional for TweenLite and TweenFilterLite, but it is used by default in TweenMax.
|
276
|
+
public static var killTweensOf:Function = TweenLite.killTweensOf;
|
277
|
+
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
|
278
|
+
public static var removeTween:Function = TweenLite.removeTween;
|
279
|
+
public static var setGlobalTimeScale:Function = TweenFilterLite.setGlobalTimeScale;
|
280
|
+
protected var _pauseTime:int;
|
281
|
+
protected var _dispatcher:EventDispatcher;
|
282
|
+
protected var _callbacks:Object; //stores the original onComplete, onStart, and onUpdate Functions from the this.vars Object (we replace them if/when dispatching events)
|
283
|
+
protected var _isProcessingComplete:Boolean;
|
284
|
+
public function TweenMax($target:Object, $duration:Number, $vars:Object) {
|
285
|
+
super($target, $duration, $vars);
|
286
|
+
_pauseTime = -1;
|
287
|
+
if (this.vars.onCompleteListener != null || this.vars.onUpdateListener != null || this.vars.onStartListener != null) {
|
288
|
+
initDispatcher();
|
289
|
+
if ($duration == 0 && this.delay == 0) {
|
290
|
+
onUpdateDispatcher();
|
291
|
+
onCompleteDispatcher();
|
292
|
+
}
|
293
|
+
}
|
294
|
+
if (this.vars.yoyo == true || this.vars.loop == true) {
|
295
|
+
this.vars.persist = true;
|
296
|
+
}
|
297
|
+
if (TweenFilterLite.version < 8.21) {
|
298
|
+
////trace("TweenMax error! Please update your TweenFilterLite class or try deleting your ASO files. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com.");
|
299
|
+
}
|
300
|
+
}
|
301
|
+
override public function initTweenVals($hrp:Boolean = false, $reservedProps:String = ""):void {
|
302
|
+
$reservedProps += " hexColors bezier bezierThrough orientToBezier quaternions onCompleteAll onCompleteAllParams yoyo loop onCompleteListener onUpdateListener onStartListener ";
|
303
|
+
var p:String, i:int, curProp:Object, props:Object, b:Array;
|
304
|
+
if (!$hrp && this.delay != 0 && TweenLite.overwriteManager.enabled) {
|
305
|
+
TweenLite.overwriteManager.manageOverwrites(this, _all[this.target]);
|
306
|
+
}
|
307
|
+
var bProxy:Function = bezierProxy;
|
308
|
+
if (this.vars.orientToBezier == true) {
|
309
|
+
this.vars.orientToBezier = [["x", "y", "rotation", 0]];
|
310
|
+
bProxy = bezierProxy2;
|
311
|
+
} else if (this.vars.orientToBezier is Array) {
|
312
|
+
bProxy = bezierProxy2;
|
313
|
+
}
|
314
|
+
if (this.vars.bezier != undefined && (this.vars.bezier is Array)) {
|
315
|
+
props = {};
|
316
|
+
b = this.vars.bezier;
|
317
|
+
for (i = 0; i < b.length; i++) {
|
318
|
+
for (p in b[i]) {
|
319
|
+
if (props[p] == undefined) {
|
320
|
+
props[p] = [this.target[p]];
|
321
|
+
}
|
322
|
+
if (typeof(b[i][p]) == "number") {
|
323
|
+
props[p].push(b[i][p]);
|
324
|
+
} else {
|
325
|
+
props[p].push(this.target[p] + Number(b[i][p])); //relative value
|
326
|
+
}
|
327
|
+
}
|
328
|
+
}
|
329
|
+
for (p in props) {
|
330
|
+
if (typeof(this.vars[p]) == "number") {
|
331
|
+
props[p].push(this.vars[p]);
|
332
|
+
} else {
|
333
|
+
props[p].push(this.target[p] + Number(this.vars[p])); //relative value
|
334
|
+
}
|
335
|
+
delete this.vars[p]; //to prevent TweenLite from doing normal tweens on these Bezier values.
|
336
|
+
}
|
337
|
+
addSubTween("bezier", bProxy, {t:0}, {t:1}, {props:parseBeziers(props, false), target:this.target, orientToBezier:this.vars.orientToBezier});
|
338
|
+
}
|
339
|
+
if (this.vars.bezierThrough != undefined && (this.vars.bezierThrough is Array)) {
|
340
|
+
props = {};
|
341
|
+
b = this.vars.bezierThrough;
|
342
|
+
for (i = 0; i < b.length; i++) {
|
343
|
+
for (p in b[i]) {
|
344
|
+
if (props[p] == undefined) {
|
345
|
+
props[p] = [this.target[p]]; //starting point
|
346
|
+
}
|
347
|
+
if (typeof(b[i][p]) == "number") {
|
348
|
+
props[p].push(b[i][p]);
|
349
|
+
} else {
|
350
|
+
props[p].push(this.target[p] + Number(b[i][p])); //relative value
|
351
|
+
}
|
352
|
+
}
|
353
|
+
}
|
354
|
+
for (p in props) {
|
355
|
+
if (typeof(this.vars[p]) == "number") {
|
356
|
+
props[p].push(this.vars[p]);
|
357
|
+
} else {
|
358
|
+
props[p].push(this.target[p] + Number(this.vars[p])); //relative value
|
359
|
+
}
|
360
|
+
delete this.vars[p]; //to prevent TweenLite from doing normal tweens on these Bezier values.
|
361
|
+
}
|
362
|
+
addSubTween("bezierThrough", bProxy, {t:0}, {t:1}, {props:parseBeziers(props, true), target:this.target, orientToBezier:this.vars.orientToBezier});
|
363
|
+
}
|
364
|
+
/* potential new feature - quaternion tweening
|
365
|
+
if (this.vars.quaternions != undefined) {
|
366
|
+
var angle:Number, q1:Object, q2:Object, x1:Number, x2:Number, y1:Number, y2:Number, z1:Number, z2:Number, w1:Number, w2:Number, theta:Number;
|
367
|
+
for (p in this.vars.quaternions) {
|
368
|
+
q1 = this.target[p];
|
369
|
+
q2 = this.vars.quaternions[p];
|
370
|
+
x1 = q1.x; x2 = q2.x;
|
371
|
+
y1 = q1.y; y2 = q2.y;
|
372
|
+
z1 = q1.z; z2 = q2.z;
|
373
|
+
w1 = q1.w; w2 = q2.w;
|
374
|
+
angle = x1 * x2 + y1 * y2 + z1 * z2 + w1 * w2;
|
375
|
+
if (angle < 0) {
|
376
|
+
x1 *= -1;
|
377
|
+
y1 *= -1;
|
378
|
+
z1 *= -1;
|
379
|
+
w1 *= -1;
|
380
|
+
angle *= -1;
|
381
|
+
}
|
382
|
+
if ((angle + 1) < 0.000001) {
|
383
|
+
y2 = -y1;
|
384
|
+
x2 = x1;
|
385
|
+
w2 = -w1;
|
386
|
+
z2 = z1;
|
387
|
+
}
|
388
|
+
theta = Math.acos(angle);
|
389
|
+
addSubTween("quaternions", quaternionProxy, {t:0}, {t:1}, {target:q1, prop:p, x1:x1, x2:x2, y1:y1, y2:y2, z1:z1, z2:z2, w1:w1, w2:w2, angle:angle, theta:theta, invTheta:1 / Math.sin(theta)});
|
390
|
+
}
|
391
|
+
}
|
392
|
+
*/
|
393
|
+
if (this.vars.hexColors != undefined && typeof(this.vars.hexColors) == "object") {
|
394
|
+
for (p in this.vars.hexColors) {
|
395
|
+
addSubTween("hexColors", hexColorsProxy, {r:this.target[p] >> 16, g:(this.target[p] >> 8) & 0xff, b:this.target[p] & 0xff}, {r:(this.vars.hexColors[p] >> 16), g:(this.vars.hexColors[p] >> 8) & 0xff, b:(this.vars.hexColors[p] & 0xff)}, {prop:p, target:this.target});
|
396
|
+
}
|
397
|
+
}
|
398
|
+
super.initTweenVals(true, $reservedProps);
|
399
|
+
}
|
400
|
+
public function pause():void {
|
401
|
+
if (_pauseTime == -1) {
|
402
|
+
_pauseTime = _curTime;
|
403
|
+
this.startTime = 99999999999; //required for OverwriteManager
|
404
|
+
_active = false;
|
405
|
+
}
|
406
|
+
}
|
407
|
+
public function resume():void {
|
408
|
+
if (_pauseTime != -1) {
|
409
|
+
var d:Number = this.delay * (1000 / _timeScale); //delay in milliseconds
|
410
|
+
var started:Boolean = (_pauseTime > this.initTime + d);
|
411
|
+
var gap:Number = _curTime - _pauseTime;
|
412
|
+
this.initTime += gap;
|
413
|
+
this.startTime = this.initTime + d;
|
414
|
+
_pauseTime = -1;
|
415
|
+
if (!started && _curTime >= this.startTime) {
|
416
|
+
started = this.active; //triggers onStart if necessary and initTweenVals()
|
417
|
+
} else {
|
418
|
+
_active = started;
|
419
|
+
}
|
420
|
+
}
|
421
|
+
enable();
|
422
|
+
}
|
423
|
+
public function restart($includeDelay:Boolean=false):void {
|
424
|
+
if ($includeDelay) {
|
425
|
+
this.initTime = _curTime;
|
426
|
+
this.startTime = _curTime + (this.delay * (1000 / _timeScale));
|
427
|
+
} else {
|
428
|
+
this.startTime = _curTime;
|
429
|
+
this.initTime = _curTime - (this.delay * (1000 / _timeScale));
|
430
|
+
}
|
431
|
+
if (this.target != this.vars.onComplete) { //protects delayedCall()s from being rendered.
|
432
|
+
render(this.startTime);
|
433
|
+
}
|
434
|
+
_pauseTime = -1;
|
435
|
+
enable();
|
436
|
+
}
|
437
|
+
public function reverse($adjustDuration:Boolean=true):void {
|
438
|
+
this.vars.ease = (this.vars.ease == _originalEase) ? reverseEase : _originalEase;
|
439
|
+
var p:Number = this.progress;
|
440
|
+
if (_pauseTime != -1) {
|
441
|
+
if (p < 1) {
|
442
|
+
resume();
|
443
|
+
} else {
|
444
|
+
_pauseTime = -1;
|
445
|
+
_active = true;
|
446
|
+
}
|
447
|
+
}
|
448
|
+
if ($adjustDuration && p > 0) {
|
449
|
+
this.startTime = _curTime - ((1 - p) * this.duration * 1000 / _timeScale);
|
450
|
+
this.initTime = this.startTime - (this.delay * (1000 / _timeScale));
|
451
|
+
}
|
452
|
+
enable();
|
453
|
+
}
|
454
|
+
public function reverseEase($t:Number, $b:Number, $c:Number, $d:Number):Number {
|
455
|
+
return _originalEase($d - $t, $b, $c, $d);
|
456
|
+
}
|
457
|
+
override public function complete($skipRender:Boolean = false):void {
|
458
|
+
if (!_isProcessingComplete) {
|
459
|
+
_isProcessingComplete = true; //an onComplete could trigger a reverse() that would cause complete() to get called again, and get stuck in a feedback loop.
|
460
|
+
if (this.vars.yoyo == true || this.vars.loop == true) {
|
461
|
+
if (this.vars.yoyo == true) {
|
462
|
+
reverse(false);
|
463
|
+
}
|
464
|
+
this.startTime = _curTime;
|
465
|
+
this.initTime = this.startTime - (this.delay * (1000 / _timeScale));
|
466
|
+
render(_curTime);
|
467
|
+
} else if (this.vars.persist == true) {
|
468
|
+
pause();
|
469
|
+
}
|
470
|
+
super.complete($skipRender);
|
471
|
+
_isProcessingComplete = false;
|
472
|
+
}
|
473
|
+
}
|
474
|
+
protected function enable():void { //just makes sure it's in the render queue. For example, if persist wasn't set to true and the tween already completed, it gets taken out of the rendering queue, but if the user kept track of it in a variable and wants to restart() or reverse() or resume(), we need a way to make sure it's back in the queue.
|
475
|
+
if (_all[this.target] == undefined) {
|
476
|
+
_all[this.target] = new Dictionary(true);
|
477
|
+
}
|
478
|
+
if (_all[this.target][this] != this) {
|
479
|
+
_timeScale = _uncombinedTimeScale * _globalTimeScale;
|
480
|
+
_all[this.target][this] = this;
|
481
|
+
}
|
482
|
+
}
|
483
|
+
public function invalidate($adjustStartValues:Boolean=true):void { //forces the vars to be re-parsed and immediately re-rendered
|
484
|
+
if (_initted) {
|
485
|
+
var p:Number = this.progress;
|
486
|
+
if (!$adjustStartValues && p != 0) {
|
487
|
+
this.progress = 0;
|
488
|
+
}
|
489
|
+
this.tweens = [];
|
490
|
+
_subTweens = [];
|
491
|
+
initTweenVals();
|
492
|
+
_timeScale = (this.vars.timeScale || 1) * _globalTimeScale;
|
493
|
+
if (this.vars.onCompleteListener != null || this.vars.onUpdateListener != null || this.vars.onStartListener != null) {
|
494
|
+
_dispatcher = null;
|
495
|
+
initDispatcher();
|
496
|
+
}
|
497
|
+
if (p != 0) {
|
498
|
+
if ($adjustStartValues) {
|
499
|
+
adjustStartValues();
|
500
|
+
} else {
|
501
|
+
this.progress = p;
|
502
|
+
}
|
503
|
+
}
|
504
|
+
}
|
505
|
+
}
|
506
|
+
public function setDestination($property:String, $value:*, $adjustStartValues:Boolean=true):void {
|
507
|
+
var p:Number = this.progress;
|
508
|
+
if (this.vars[$property] != undefined && _initted) {
|
509
|
+
if (!$adjustStartValues && p != 0) {
|
510
|
+
for (var i:int = this.tweens.length - 1; i > -1; i--) {
|
511
|
+
if (this.tweens[i].name == $property) {
|
512
|
+
this.tweens[i].o[this.tweens[i].p] = this.tweens[i].s; //return it to its start value
|
513
|
+
}
|
514
|
+
}
|
515
|
+
}
|
516
|
+
var v:Object = {};
|
517
|
+
v[$property] = 1;
|
518
|
+
killVars(v);
|
519
|
+
}
|
520
|
+
this.vars[$property] = $value;
|
521
|
+
if (_initted) {
|
522
|
+
var varsOld:Object = this.vars;
|
523
|
+
var tweensOld:Array = this.tweens;
|
524
|
+
var subTweensOld:Array = _subTweens;
|
525
|
+
this.vars = {};
|
526
|
+
this.tweens = [];
|
527
|
+
_subTweens = [];
|
528
|
+
this.vars[$property] = $value;
|
529
|
+
initTweenVals();
|
530
|
+
if ($adjustStartValues && p != 0) {
|
531
|
+
this.vars.ease = varsOld.ease;
|
532
|
+
adjustStartValues();
|
533
|
+
}
|
534
|
+
this.vars = varsOld;
|
535
|
+
this.tweens = tweensOld.concat(this.tweens);
|
536
|
+
_subTweens = subTweensOld.concat(_subTweens);
|
537
|
+
}
|
538
|
+
}
|
539
|
+
protected function adjustStartValues():void { //forces the current
|
540
|
+
var p:Number = this.progress;
|
541
|
+
if (p != 0) {
|
542
|
+
var factor:Number = 1 / (1 - this.vars.ease(p * this.duration, 0, 1, this.duration));
|
543
|
+
var endValue:Number, tp:Object;
|
544
|
+
for (var i:int = this.tweens.length - 1; i > -1; i--) {
|
545
|
+
tp = this.tweens[i];
|
546
|
+
endValue = tp.s + tp.c;
|
547
|
+
tp.c = (endValue - tp.o[tp.p]) * factor;
|
548
|
+
tp.s = endValue - tp.c;
|
549
|
+
}
|
550
|
+
}
|
551
|
+
}
|
552
|
+
public function killProperties($names:Array):void {
|
553
|
+
var v:Object = {}, i:int;
|
554
|
+
for (i = $names.length - 1; i > -1; i--) {
|
555
|
+
if (this.vars[$names[i]] != null) {
|
556
|
+
v[$names[i]] = 1;
|
557
|
+
}
|
558
|
+
}
|
559
|
+
killVars(v);
|
560
|
+
}
|
561
|
+
//---- EVENT DISPATCHING ----------------------------------------------------------------------------------------------------------
|
562
|
+
protected function initDispatcher():void {
|
563
|
+
if (_dispatcher == null) {
|
564
|
+
_dispatcher = new EventDispatcher(this);
|
565
|
+
_callbacks = {onStart:this.vars.onStart, onUpdate:this.vars.onUpdate, onComplete:this.vars.onComplete}; //store the originals
|
566
|
+
var v:Object = {};
|
567
|
+
for (var p:String in this.vars) {
|
568
|
+
v[p] = this.vars[p]; //Just in case the same vars Object is reused for multiple tweens, we need to copy all the properties and create a duplicate so that we don't interfere with other tweens.
|
569
|
+
}
|
570
|
+
this.vars = v;
|
571
|
+
this.vars.onStart = onStartDispatcher;
|
572
|
+
this.vars.onUpdate = onUpdateDispatcher;
|
573
|
+
this.vars.onComplete = onCompleteDispatcher;
|
574
|
+
if (this.vars.onStartListener is Function) {
|
575
|
+
_dispatcher.addEventListener(TweenEvent.START, this.vars.onStartListener, false, 0, true);
|
576
|
+
}
|
577
|
+
if (this.vars.onUpdateListener is Function) {
|
578
|
+
_dispatcher.addEventListener(TweenEvent.UPDATE, this.vars.onUpdateListener, false, 0, true);
|
579
|
+
}
|
580
|
+
if (this.vars.onCompleteListener is Function) {
|
581
|
+
_dispatcher.addEventListener(TweenEvent.COMPLETE, this.vars.onCompleteListener, false, 0, true);
|
582
|
+
}
|
583
|
+
}
|
584
|
+
}
|
585
|
+
protected function onStartDispatcher(... $args):void {
|
586
|
+
if (_callbacks.onStart != null) {
|
587
|
+
_callbacks.onStart.apply(null, this.vars.onStartParams);
|
588
|
+
}
|
589
|
+
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.START));
|
590
|
+
}
|
591
|
+
protected function onUpdateDispatcher(... $args):void {
|
592
|
+
if (_callbacks.onUpdate != null) {
|
593
|
+
_callbacks.onUpdate.apply(null, this.vars.onUpdateParams);
|
594
|
+
}
|
595
|
+
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE));
|
596
|
+
}
|
597
|
+
protected function onCompleteDispatcher(... $args):void {
|
598
|
+
if (_callbacks.onComplete != null) {
|
599
|
+
_callbacks.onComplete.apply(null, this.vars.onCompleteParams);
|
600
|
+
}
|
601
|
+
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE));
|
602
|
+
}
|
603
|
+
public function addEventListener($type:String, $listener:Function, $useCapture:Boolean = false, $priority:int = 0, $useWeakReference:Boolean = false):void {
|
604
|
+
if (_dispatcher == null) {
|
605
|
+
initDispatcher();
|
606
|
+
}
|
607
|
+
_dispatcher.addEventListener($type, $listener, $useCapture, $priority, $useWeakReference);
|
608
|
+
}
|
609
|
+
public function removeEventListener($type:String, $listener:Function, $useCapture:Boolean = false):void {
|
610
|
+
if (_dispatcher != null) {
|
611
|
+
_dispatcher.removeEventListener($type, $listener, $useCapture);
|
612
|
+
}
|
613
|
+
}
|
614
|
+
public function hasEventListener($type:String):Boolean {
|
615
|
+
if (_dispatcher == null) {
|
616
|
+
return false;
|
617
|
+
} else {
|
618
|
+
return _dispatcher.hasEventListener($type);
|
619
|
+
}
|
620
|
+
}
|
621
|
+
public function willTrigger($type:String):Boolean {
|
622
|
+
if (_dispatcher == null) {
|
623
|
+
return false;
|
624
|
+
} else {
|
625
|
+
return _dispatcher.willTrigger($type);
|
626
|
+
}
|
627
|
+
}
|
628
|
+
public function dispatchEvent($e:Event):Boolean {
|
629
|
+
if (_dispatcher == null) {
|
630
|
+
return false;
|
631
|
+
} else {
|
632
|
+
return _dispatcher.dispatchEvent($e);
|
633
|
+
}
|
634
|
+
}
|
635
|
+
//---- STATIC FUNCTIONS -----------------------------------------------------------------------------------------------------------
|
636
|
+
public static function to($target:Object, $duration:Number, $vars:Object):TweenMax {
|
637
|
+
return new TweenMax($target, $duration, $vars);
|
638
|
+
}
|
639
|
+
public static function from($target:Object, $duration:Number, $vars:Object):TweenMax {
|
640
|
+
$vars.runBackwards = true;
|
641
|
+
return new TweenMax($target, $duration, $vars);
|
642
|
+
}
|
643
|
+
public static function allTo($targets:Array, $duration:Number, $vars:Object):Array { //vars takes the same special parameters as to() and from() calls, and ALSO "delayIncrement", "onCompleteAll", "onCompleteAllParams", and "onCompleteAllScope"
|
644
|
+
if ($targets.length == 0) {
|
645
|
+
return [];
|
646
|
+
}
|
647
|
+
var i:int, v:Object, p:String, dl:Number, lastVars:Object;
|
648
|
+
var a:Array = [];
|
649
|
+
var dli:Number = $vars.delayIncrement || 0;
|
650
|
+
delete $vars.delayIncrement;
|
651
|
+
if ($vars.onCompleteAll == undefined) {
|
652
|
+
lastVars = $vars;
|
653
|
+
} else {
|
654
|
+
lastVars = {}; //need to create a new object so that we can have a different onComplete and onCompleteParams properties!
|
655
|
+
for (p in $vars) {
|
656
|
+
lastVars[p] = $vars[p]; //Create a new object and copy the properties, otherwise easeParams will throw errors.
|
657
|
+
}
|
658
|
+
lastVars.onCompleteParams = [[$vars.onComplete, $vars.onCompleteAll], [$vars.onCompleteParams, $vars.onCompleteAllParams]];
|
659
|
+
lastVars.onComplete = TweenMax.callbackProxy;
|
660
|
+
delete $vars.onCompleteAll;
|
661
|
+
}
|
662
|
+
delete $vars.onCompleteAllParams;
|
663
|
+
if (dli == 0) {
|
664
|
+
for (i = 0; i < $targets.length - 1; i++) {
|
665
|
+
v = {};
|
666
|
+
for (p in $vars) {
|
667
|
+
v[p] = $vars[p]; //Create a new object and copy the properties so that we can have a different delay value.
|
668
|
+
}
|
669
|
+
a[a.length] = new TweenMax($targets[i], $duration, v);
|
670
|
+
}
|
671
|
+
} else {
|
672
|
+
dl = $vars.delay || 0;
|
673
|
+
for (i = 0; i < $targets.length - 1; i++) {
|
674
|
+
v = {};
|
675
|
+
for (p in $vars) {
|
676
|
+
v[p] = $vars[p];
|
677
|
+
}
|
678
|
+
v.delay = dl + (i * dli);
|
679
|
+
a[a.length] = new TweenMax($targets[i], $duration, v);
|
680
|
+
}
|
681
|
+
lastVars.delay = dl + (($targets.length - 1) * dli);
|
682
|
+
}
|
683
|
+
a[a.length] = new TweenMax($targets[$targets.length - 1], $duration, lastVars); //add this to the end so the onCompleteAll fires last. NOTE: In AS2, we have to flip this when all the durations are the same (add it FIRST, not last, so that it executes last)
|
684
|
+
if ($vars.onCompleteAllListener is Function) {
|
685
|
+
a[a.length - 1].addEventListener(TweenEvent.COMPLETE, $vars.onCompleteAllListener);
|
686
|
+
}
|
687
|
+
return a;
|
688
|
+
}
|
689
|
+
public static function allFrom($targets:Array, $duration:Number, $vars:Object):Array {
|
690
|
+
$vars.runBackwards = true;
|
691
|
+
return allTo($targets, $duration, $vars);
|
692
|
+
}
|
693
|
+
public static function callbackProxy($functions:Array, $params:Array = null):void {
|
694
|
+
for (var i:uint = 0; i < $functions.length; i++) {
|
695
|
+
if ($functions[i] != undefined) {
|
696
|
+
$functions[i].apply(null, $params[i]);
|
697
|
+
}
|
698
|
+
}
|
699
|
+
}
|
700
|
+
public static function sequence($target:Object, $tweens:Array):Array { //Note: make sure each tween object has a "time" parameter (duration in seconds).
|
701
|
+
for (var i:uint = 0; i < $tweens.length; i++) {
|
702
|
+
$tweens[i].target = $target;
|
703
|
+
}
|
704
|
+
return multiSequence($tweens);
|
705
|
+
}
|
706
|
+
public static function multiSequence($tweens:Array):Array { //Note: make sure each tween object has a "target" parameter and a "time" parameter ("time" is in seconds)
|
707
|
+
var dict:Dictionary = new Dictionary();
|
708
|
+
var a:Array = [];
|
709
|
+
var overwriteMode:int = TweenLite.overwriteManager.mode;
|
710
|
+
var totalDelay:Number = 0;
|
711
|
+
var tw:Object, tgt:Object, dl:Number, t:Number, i:uint, o:Object, p:String;
|
712
|
+
for (i = 0; i < $tweens.length; i++) {
|
713
|
+
tw = $tweens[i];
|
714
|
+
t = tw.time || 0;
|
715
|
+
o = {};
|
716
|
+
for (p in tw) {
|
717
|
+
o[p] = tw[p]; //copy the object so that we can edit it without interfering with the original object which may be used again if the developer runs the same sequence multiple times.
|
718
|
+
}
|
719
|
+
delete o.time;
|
720
|
+
dl = o.delay || 0;
|
721
|
+
o.delay = totalDelay + dl;
|
722
|
+
tgt = o.target;
|
723
|
+
delete o.target;
|
724
|
+
if (overwriteMode == 1) {
|
725
|
+
if (dict[tgt] == undefined) { //By default, we should set overwrite to true for the FIRST tween of each Object. Of course subsequent tweens shouldn't ovewrite each other.
|
726
|
+
dict[tgt] = o;
|
727
|
+
} else {
|
728
|
+
o.overwrite = 2;
|
729
|
+
}
|
730
|
+
}
|
731
|
+
a[a.length] = new TweenMax(tgt, t, o);
|
732
|
+
totalDelay += t + dl;
|
733
|
+
}
|
734
|
+
return a;
|
735
|
+
}
|
736
|
+
public static function delayedCall($delay:Number, $onComplete:Function, $onCompleteParams:Array=null, $persist:Boolean=false):TweenMax {
|
737
|
+
return new TweenMax($onComplete, 0, {delay:$delay, onComplete:$onComplete, onCompleteParams:$onCompleteParams, persist:$persist, overwrite:0});
|
738
|
+
}
|
739
|
+
public static function parseBeziers($props:Object, $through:Boolean=false):Object { //$props object should contain a property for each one you'd like bezier paths for. Each property should contain a single array with the numeric point values (i.e. props.x = [12,50,80] and props.y = [50,97,158]). It'll return a new object with an array of values for each property, containing a "s" (start), "cp" (control point), and "e" (end) property. (i.e. returnObject.x = [{s:12, cp:32, e:50}, {s:50, cp:65, e:80}])
|
740
|
+
var i:int, a:Array, b:Object, p:String;
|
741
|
+
var all:Object = {};
|
742
|
+
if ($through) {
|
743
|
+
for (p in $props) {
|
744
|
+
a = $props[p];
|
745
|
+
all[p] = b = [];
|
746
|
+
if (a.length > 2) {
|
747
|
+
b[b.length] = {s:a[0], cp:a[1] - ((a[2] - a[0]) / 4), e:a[1]};
|
748
|
+
for (i = 1; i < a.length - 1; i++) {
|
749
|
+
b[b.length] = {s:a[i], cp:a[i] + (a[i] - b[i - 1].cp), e:a[i + 1]};
|
750
|
+
}
|
751
|
+
} else {
|
752
|
+
b[b.length] = {s:a[0], cp:(a[0] + a[1]) / 2, e:a[1]};
|
753
|
+
}
|
754
|
+
}
|
755
|
+
} else {
|
756
|
+
for (p in $props) {
|
757
|
+
a = $props[p];
|
758
|
+
all[p] = b = [];
|
759
|
+
if (a.length > 3) {
|
760
|
+
b[b.length] = {s:a[0], cp:a[1], e:(a[1] + a[2]) / 2};
|
761
|
+
for (i = 2; i < a.length - 2; i++) {
|
762
|
+
b.push({s:b[i - 2].e, cp:a[i], e:(a[i] + a[i + 1]) / 2});
|
763
|
+
}
|
764
|
+
b[b.length] = {s:b[b.length - 1].e, cp:a[a.length - 2], e:a[a.length - 1]};
|
765
|
+
} else if (a.length == 3) {
|
766
|
+
b[b.length] = {s:a[0], cp:a[1], e:a[2]};
|
767
|
+
} else if (a.length == 2) {
|
768
|
+
b[b.length] = {s:a[0], cp:(a[0] + a[1]) / 2, e:a[1]};
|
769
|
+
}
|
770
|
+
}
|
771
|
+
}
|
772
|
+
return all;
|
773
|
+
}
|
774
|
+
public static function getTweensOf($target:Object):Array {
|
775
|
+
var t:Dictionary = _all[$target];
|
776
|
+
var a:Array = [];
|
777
|
+
if(t != null) {
|
778
|
+
for (var p:Object in t) {
|
779
|
+
if (t[p].tweens != undefined) {
|
780
|
+
a[a.length] = t[p];
|
781
|
+
}
|
782
|
+
}
|
783
|
+
}
|
784
|
+
return a;
|
785
|
+
}
|
786
|
+
public static function isTweening($target:Object):Boolean {
|
787
|
+
var a:Array = getTweensOf($target);
|
788
|
+
for (var i:int = a.length - 1; i > -1; i--) {
|
789
|
+
if (a[i].active) {
|
790
|
+
return true;
|
791
|
+
}
|
792
|
+
}
|
793
|
+
return false;
|
794
|
+
}
|
795
|
+
public static function getAllTweens():Array {
|
796
|
+
var a:Dictionary = _all; //speeds things up slightly
|
797
|
+
var all:Array = [], p:Object, tw:Object;
|
798
|
+
for each (p in a) {
|
799
|
+
for (tw in p) {
|
800
|
+
if (p[tw] != undefined) {
|
801
|
+
all[all.length] = p[tw];
|
802
|
+
}
|
803
|
+
}
|
804
|
+
}
|
805
|
+
return all;
|
806
|
+
}
|
807
|
+
public static function killAllTweens($complete:Boolean = false):void {
|
808
|
+
killAll($complete, true, false);
|
809
|
+
}
|
810
|
+
public static function killAllDelayedCalls($complete:Boolean = false):void {
|
811
|
+
killAll($complete, false, true);
|
812
|
+
}
|
813
|
+
public static function killAll($complete:Boolean = false, $tweens:Boolean = true, $delayedCalls:Boolean = true):void {
|
814
|
+
var a:Array = getAllTweens();
|
815
|
+
var isDC:Boolean; //is delayedCall
|
816
|
+
for (var i:int = a.length - 1; i > -1; i--) {
|
817
|
+
isDC = (a[i].target == a[i].vars.onComplete);
|
818
|
+
if (isDC == $delayedCalls || isDC != $tweens) {
|
819
|
+
if ($complete) {
|
820
|
+
a[i].complete();
|
821
|
+
} else {
|
822
|
+
TweenLite.removeTween(a[i]);
|
823
|
+
}
|
824
|
+
}
|
825
|
+
}
|
826
|
+
}
|
827
|
+
public static function pauseAll($tweens:Boolean = true, $delayedCalls:Boolean = false):void {
|
828
|
+
changePause(true, $tweens, $delayedCalls);
|
829
|
+
}
|
830
|
+
public static function resumeAll($tweens:Boolean = true, $delayedCalls:Boolean = false):void {
|
831
|
+
changePause(false, $tweens, $delayedCalls);
|
832
|
+
}
|
833
|
+
public static function changePause($pause:Boolean, $tweens:Boolean = true, $delayedCalls:Boolean = false):void {
|
834
|
+
var a:Array = getAllTweens();
|
835
|
+
var isDC:Boolean; //is delayedCall
|
836
|
+
for (var i:int = a.length - 1; i > -1; i--) {
|
837
|
+
isDC = (a[i].target == a[i].vars.onComplete);
|
838
|
+
if (a[i] is TweenMax && (isDC == $delayedCalls || isDC != $tweens)) {
|
839
|
+
a[i].paused = $pause;
|
840
|
+
}
|
841
|
+
}
|
842
|
+
}
|
843
|
+
//---- PROXY FUNCTIONS ------------------------------------------------------------------------------------------------------------
|
844
|
+
public static function hexColorsProxy($o:Object):void {
|
845
|
+
$o.info.target[$o.info.prop] = uint($o.target.r << 16 | $o.target.g << 8 | $o.target.b);
|
846
|
+
}
|
847
|
+
public static function bezierProxy($o:Object):void {
|
848
|
+
var factor:Number = $o.target.t, props:Object = $o.info.props, tg:Object = $o.info.target, i:int, p:String, b:Object, t:Number, segments:uint;
|
849
|
+
if (factor == 1) { //to make sure the end values are EXACTLY what they need to be.
|
850
|
+
for (p in props) {
|
851
|
+
i = props[p].length - 1;
|
852
|
+
tg[p] = props[p][i].e;
|
853
|
+
}
|
854
|
+
} else {
|
855
|
+
for (p in props) {
|
856
|
+
segments = props[p].length;
|
857
|
+
if (factor < 0) {
|
858
|
+
i = 0;
|
859
|
+
} else if (factor >= 1) {
|
860
|
+
i = segments - 1;
|
861
|
+
} else {
|
862
|
+
i = int(segments * factor);
|
863
|
+
}
|
864
|
+
t = (factor - (i * (1 / segments))) * segments;
|
865
|
+
b = props[p][i];
|
866
|
+
tg[p] = b.s + t * (2 * (1 - t) * (b.cp - b.s) + t * (b.e - b.s));
|
867
|
+
}
|
868
|
+
}
|
869
|
+
}
|
870
|
+
public static function bezierProxy2($o:Object):void { //Only for orientToBezier tweens. Separated it for speed.
|
871
|
+
bezierProxy($o);
|
872
|
+
var future:Object = {};
|
873
|
+
var tg:Object = $o.info.target;
|
874
|
+
$o.info.target = future;
|
875
|
+
$o.target.t += 0.01;
|
876
|
+
bezierProxy($o);
|
877
|
+
var otb:Array = $o.info.orientToBezier;
|
878
|
+
var a:Number, dx:Number, dy:Number, cotb:Array, toAdd:Number;
|
879
|
+
for (var i:uint = 0; i < otb.length; i++) {
|
880
|
+
cotb = otb[i]; //current orientToBezier Array
|
881
|
+
toAdd = cotb[3] || 0;
|
882
|
+
dx = future[cotb[0]] - tg[cotb[0]];
|
883
|
+
dy = future[cotb[1]] - tg[cotb[1]];
|
884
|
+
tg[cotb[2]] = Math.atan2(dy, dx) * _RAD2DEG + toAdd;
|
885
|
+
}
|
886
|
+
$o.info.target = tg;
|
887
|
+
$o.target.t -= 0.01;
|
888
|
+
}
|
889
|
+
/* potential new feature - slerp quaternion tweening for 3D rotation
|
890
|
+
public static function quaternionProxy($o:Object):void {
|
891
|
+
var info:Object = $o.info, t:Number = $o.target.t, tg:* = info.target, scale:Number, invScale:Number;
|
892
|
+
if ((info.angle + 1) > 0.000001) {
|
893
|
+
if ((1 - info.angle) >= 0.000001) {
|
894
|
+
scale = Math.sin(info.theta * (1 - t)) * info.invTheta;
|
895
|
+
invScale = Math.sin(info.theta * t) * info.invTheta;
|
896
|
+
} else {
|
897
|
+
scale = 1 - t;
|
898
|
+
invScale = t;
|
899
|
+
}
|
900
|
+
} else {
|
901
|
+
scale = Math.sin(Math.PI * (0.5 - t));
|
902
|
+
invScale = Math.sin(Math.PI * t);
|
903
|
+
}
|
904
|
+
tg.x = scale * info.x1 + invScale * info.x2;
|
905
|
+
tg.y = scale * info.y1 + invScale * info.y2;
|
906
|
+
tg.z = scale * info.z1 + invScale * info.z2;
|
907
|
+
tg.w = scale * info.w1 + invScale * info.w2;
|
908
|
+
}
|
909
|
+
*/
|
910
|
+
//---- GETTERS / SETTERS ----------------------------------------------------------------------------------------------------------
|
911
|
+
override public function get active():Boolean {
|
912
|
+
if (_active) {
|
913
|
+
return true;
|
914
|
+
} else if (_pauseTime != -1) {
|
915
|
+
return false;
|
916
|
+
} else if (_curTime >= this.startTime) {
|
917
|
+
_active = true;
|
918
|
+
if (!_initted) {
|
919
|
+
initTweenVals();
|
920
|
+
} else if (this.vars.visible != undefined && _isDisplayObject) {
|
921
|
+
this.target.visible = true;
|
922
|
+
}
|
923
|
+
if (this.vars.onStart != null) {
|
924
|
+
this.vars.onStart.apply(null, this.vars.onStartParams);
|
925
|
+
}
|
926
|
+
if (this.duration == 0.001) { //In the constructor, if the duration is zero, we shift it to 0.001 because the easing functions won't work otherwise. We need to offset the this.startTime to compensate too.
|
927
|
+
this.startTime -= 1;
|
928
|
+
}
|
929
|
+
return true;
|
930
|
+
} else {
|
931
|
+
return false;
|
932
|
+
}
|
933
|
+
}
|
934
|
+
public function get paused():Boolean {
|
935
|
+
return (_pauseTime != -1);
|
936
|
+
}
|
937
|
+
public function set paused($b:Boolean):void {
|
938
|
+
if ($b) {
|
939
|
+
pause();
|
940
|
+
} else {
|
941
|
+
resume();
|
942
|
+
}
|
943
|
+
}
|
944
|
+
public function get reversed():Boolean {
|
945
|
+
return (this.vars.ease == reverseEase);
|
946
|
+
}
|
947
|
+
public function set reversed($b:Boolean):void {
|
948
|
+
if (this.reversed != $b) {
|
949
|
+
reverse();
|
950
|
+
}
|
951
|
+
}
|
952
|
+
public static function set globalTimeScale($n:Number):void {
|
953
|
+
setGlobalTimeScale($n);
|
954
|
+
}
|
955
|
+
public static function get globalTimeScale():Number {
|
956
|
+
return _globalTimeScale;
|
957
|
+
}
|
958
|
+
public function get progress():Number {
|
959
|
+
var t:Number = (_pauseTime != -1) ? _pauseTime : _curTime;
|
960
|
+
var p:Number = (((t - this.initTime) / 1000) - this.delay / _timeScale) / this.duration * _timeScale;
|
961
|
+
if (p > 1) {
|
962
|
+
return 1;
|
963
|
+
} else if (p < 0) {
|
964
|
+
return 0;
|
965
|
+
} else {
|
966
|
+
return p;
|
967
|
+
}
|
968
|
+
}
|
969
|
+
public function set progress($n:Number):void {
|
970
|
+
this.startTime = _curTime - ((this.duration * $n) * 1000);
|
971
|
+
this.initTime = this.startTime - (this.delay * (1000 / _timeScale));
|
972
|
+
var b:Boolean = this.active; //Just to trigger all the onStart stuff.
|
973
|
+
render(_curTime);
|
974
|
+
if (_pauseTime != -1) {
|
975
|
+
_pauseTime = _curTime;
|
976
|
+
this.startTime = 99999999999; //required for OverwriteManager
|
977
|
+
}
|
978
|
+
var v:* = this.vars.visible;
|
979
|
+
if (this.vars.isTV == true) {
|
980
|
+
v = this.vars.exposedProps.visible;
|
981
|
+
}
|
982
|
+
if (v != null && _isDisplayObject && $n < 1) {
|
983
|
+
this.target.visible = Boolean(v);
|
984
|
+
}
|
985
|
+
}
|
986
|
+
}
|
987
|
+
}
|