Forked from: checkmate's Progression4 Professional diff:108 forked from: Progression4 Professional yd_niku forked:2favorite:3lines:322license : MIT License modified : 2009-10-20 14:47:11 Embed Tweet // forked from checkmate's Progression4 Professional // forked from test_doke's flash on 2009-9-29 package { import caurina.transitions.Equations; import flash.display.*; import jp.progression.commands.*; import jp.progression.commands.display.*; import jp.progression.commands.lists.*; import jp.progression.commands.net.*; import jp.progression.commands.tweens.*; import jp.progression.*; import flash.events.*; import flash.geom.*; import flash.filters.*; [SWF( width=465, height=465, backgroundColor=0xFFFFFF, frameRate=30 )] public class Professional extends Sprite { public var manager:Progression, self:Professional; // Graphics public var scene1_Balloon1:MovieClip, scene1_Balloon2:MovieClip, scene1_Brother:MovieClip; public var scene2_Brother:MovieClip, scene2_Shout:MovieClip; public var scene3_Brother:MovieClip, scene3_CutIn1:MovieClip, scene3_CutIn2:MovieClip, scene3_SE:MovieClip, scene3_Sister:MovieClip; public var scene4_Balloon:MovieClip, scene4_Brother:MovieClip, scene4_Sister:MovieClip; // First Scene public function introduction():void { manager.current.addCommand( new RemoveAllChildren( self ), [ [ new Prop( scene1_Brother, { y:435 } ), new AddChild( self, scene1_Brother ), new DoTweener( scene1_Brother, { y:335, time:7 } ) ], [ 1, new Prop( scene1_Balloon1, { alpha:0 } ), new AddChild( self, scene1_Balloon1 ), new DoTweener( scene1_Balloon1, { alpha:1, time:1 } ) ], [ 2, new Prop( scene1_Balloon2, { alpha:0 } ), new AddChild( self, scene1_Balloon2 ), new DoTweener( scene1_Balloon2, { alpha:1, time:1 } ) ] ] ); } // Second Scene private var _offsets:Point = new Point; private var _p:Point = new Point; private var _disp:DisplacementMapFilter = new DisplacementMapFilter( null, new Point, 1, 1, 0, 100 ); public function development():void { var noise:BitmapData = new BitmapData( 465, 465 ); var effect:BitmapData = new BitmapData( 465, 465 ); effect.draw( this ); var melt:Function = function (e:Event ):void { _offsets.x += 3; _offsets.y += 3; noise.perlinNoise( 16, 16, 2, 1, false, true, 1, false, [ _offsets ]); _disp.mapBitmap = noise; effect.applyFilter( effect, effect.rect, _p, _disp ); effect.colorTransform( effect.rect, new ColorTransform(0.9, 0.9, 0.9, 0.9 ) ); }; var effectContainer:Bitmap = new Bitmap(effect); manager.current.addCommand( new RemoveAllChildren( self ), new AddChild( self, effectContainer ), function():void { self.addEventListener( Event.ENTER_FRAME, melt ); }, new Wait( 2 ), function ():void { self.removeEventListener( Event.ENTER_FRAME, melt ); }, new RemoveChild( self, effectContainer ), [ [ new Prop( scene2_Brother, { scaleX:0.3, scaleY:0.3 } ), new AddChild( self, scene2_Brother ), new DoTweener( scene2_Brother, { scaleX:1, scaleY:1, time:1, transition:Equations.easeOutElastic } ) ], [ 0.1, new Prop( scene2_Shout, { scaleX:0.3, scaleY:0.3 } ), new AddChild( self, scene2_Shout ), new DoTweener( scene2_Shout, { scaleX:1, scaleY:1, time:1, transition:Equations.easeOutElastic } ) ] ] ); } // Third Scene public function turn():void { var noise:BitmapData = new BitmapData( 465, 465 ); var effect:BitmapData = new BitmapData( 465, 465 ); effect.draw( this ); var melt:Function = function (e:Event ):void { _offsets.x += 3; _offsets.y += 3; noise.perlinNoise( 16, 16, 2, 1, false, true, 1, false, [ _offsets ]); _disp.mapBitmap = noise; effect.applyFilter( effect, effect.rect, _p, _disp ); effect.colorTransform( effect.rect, new ColorTransform(0.9, 0.9, 0.9, 0.9 ) ); }; var effectContainer:Bitmap = new Bitmap(effect); manager.current.addCommand( new RemoveAllChildren( self ), new AddChild( self, effectContainer ), function():void { self.addEventListener( Event.ENTER_FRAME, melt ); }, new Wait( 2 ), function ():void { self.removeEventListener( Event.ENTER_FRAME, melt ); }, new RemoveChild( self, effectContainer ), [ [ new Prop( scene3_Brother, { x:130, scaleX:0.7, scaleY:0.7 } ), new AddChild( self, scene3_Brother ), new DoTweener( scene3_Brother, { x:230, scaleX:1, scaleY:1, time:1, transition:Equations.easeOutElastic } ) ], [ new Prop( scene3_Sister, { x:-300, scaleX:0.7, scaleY:0.7 } ), new AddChild( self, scene3_Sister ), new DoTweener( scene3_Sister, { x:0, scaleX:1, scaleY:1, time:1, transition:Equations.easeOutElastic } ) ], new AddChild( self, scene3_CutIn1 ), new AddChild( self, scene3_CutIn2 ), [ new Prop( scene3_SE, { scaleX:0.3, scaleY:0.3 } ), new AddChild( self, scene3_SE ), new DoTweener( scene3_SE, { scaleX:1, scaleY:1, time:1, transition:Equations.easeOutElastic } ) ] ] ); } // Fourth Scene public function conclusion():void { var noise:BitmapData = new BitmapData( 465, 465 ); var effect:BitmapData = new BitmapData( 465, 465 ); effect.draw( this ); var melt:Function = function (e:Event ):void { _offsets.x += 3; _offsets.y += 3; noise.perlinNoise( 16, 16, 2, 1, false, true, 1, false, [ _offsets ]); _disp.mapBitmap = noise; effect.applyFilter( effect, effect.rect, _p, _disp ); effect.colorTransform( effect.rect, new ColorTransform(0.9, 0.9, 0.9, 0.9 ) ); }; var effectContainer:Bitmap = new Bitmap(effect); manager.current.addCommand( new RemoveAllChildren( self ), new AddChild( self, effectContainer ), function():void { self.addEventListener( Event.ENTER_FRAME, melt ); }, new Wait( 2 ), function ():void { self.removeEventListener( Event.ENTER_FRAME, melt ); }, new RemoveChild( self, effectContainer ), [ [ new Prop( scene4_Brother, { x:162, y:266, scaleX:1.5, scaleY:1.5 } ), new AddChild( self, scene4_Brother ), new DoTweener( scene4_Brother, { x:112, y:216, scaleX:1, scaleY:1, time:4, transition:Equations.easeOutCubic } ) ], [ 1, new Prop( scene4_Sister, { x:416, y:505, scaleX:1.3, scaleY:1.3 } ), new AddChild( self, scene4_Sister ), new DoTweener( scene4_Sister, { x:316, y:485, scaleX:1, scaleY:1, time:3, transition:Equations.easeOutCubic } ) ], [ 2, new Prop( scene4_Balloon, { rotation:-5, scaleX:0.7, scaleY:0.7 } ), new AddChild( self, scene4_Balloon ), new DoTweener( scene4_Balloon, { rotation:0, scaleX:1, scaleY:1, time:0.5, transition:Equations.easeOutElastic } ) ] ] ); } public function Professional() { CheckmateBuilder.initialize( this ); } } } class MeltEffectCommand extends Command { private var effect:BitmapData; private var noise:BitmapData; private var offsets:Point = new Point; private var p:Point = new Point; private var disp:DisplacementMapFilter = new DisplacementMapFilter( null, new Point, 1, 1, 0, 50 ); public function MeltEffectCommand( container:DisplayObject ) { noise = new BitmapData( 465, 465 ); effect = new BitmapData( 465, 465 ); effect.draw( container); var effectContainer:Bitmap = new Bitmap(effect); } private function melt(e:Event ):void { offsets.x += 3; offsets.y += 3; noise.perlinNoise( 16, 16, 2, 1, false, true, 1, false, [ offsets ]); disp.mapBitmap = noise; effect.applyFilter( effect, effect.rect, p, disp ); effect.colorTransform( effect.rect, new ColorTransform(0.9, 0.9, 0.9, 0.9 ) ); } /* new AddChild( self, effectContainer ), function():void { self.addEventListener( Event.ENTER_FRAME, melt ); }, new Wait( 3 ), function ():void {] self.removeEventListener( Event.ENTER_FRAME, melt ); }, new RemoveChild( self, effectContainer ), */ } import flash.display.*; import flash.events.*; import flash.geom.*; import flash.filters.*; import flash.net.URLRequest; import flash.system.ApplicationDomain; import flash.text.*; import flash.utils.Timer; import jp.progression.casts.*; import jp.progression.commands.*; import jp.progression.commands.lists.*; import jp.progression.commands.net.*; import jp.progression.config.*; import jp.progression.data.*; import jp.progression.events.*; import jp.progression.scenes.*; import jp.progression.*; class CheckmateBuilder extends EventDispatcher { public static var GRAPHICS_URL:String = "http://swf.wonderfl.net/static/assets/checkmate04/ProfessionalAssets.swf"; private static var _target:Professional; private static var _manager:Progression; private static var _button:CastButton; public static function initialize( target:Professional ):void { if ( _target ) { return; } _target = target; _target.self = target; Progression.initialize( new BasicAppConfig() ); _manager = new Progression( "index", _target.stage ); var introduction:SceneObject = _manager.root.addScene( new SceneObject( "introduction" ) ); var development:SceneObject = _manager.root.addScene( new SceneObject( "development" ) ); var turn:SceneObject = _manager.root.addScene( new SceneObject( "turn" ) ); var conclusion:SceneObject = _manager.root.addScene( new SceneObject( "conclusion" ) ); _manager.root.addEventListener( SceneEvent.SCENE_LOAD, _rootSceneLoad ); introduction.addEventListener( SceneEvent.SCENE_INIT, _introduction ); development.addEventListener( SceneEvent.SCENE_INIT, _development ); turn.addEventListener( SceneEvent.SCENE_INIT, _turn ); conclusion.addEventListener( SceneEvent.SCENE_INIT, _conclusion ); _target.manager = _manager; _manager.goto( introduction.sceneId ); } private static function _rootSceneLoad( e:SceneEvent ):void { _manager.current.addCommand( new LoadSWF( new URLRequest( GRAPHICS_URL ) ), function():void { var loader:Loader = Loader( this.latestData ); var domain:ApplicationDomain = loader.contentLoaderInfo.applicationDomain; _target.scene1_Balloon1 = new ( domain.getDefinition( "scene1.Balloon1" ) as Class ); _target.scene1_Balloon1.x = 106; _target.scene1_Balloon1.y = 233; _target.scene1_Balloon2 = new ( domain.getDefinition( "scene1.Balloon2" ) as Class ); _target.scene1_Balloon2.x = 345; _target.scene1_Balloon2.y = 270; _target.scene1_Brother = new ( domain.getDefinition( "scene1.Brother" ) as Class ); _target.scene1_Brother.x = 228; _target.scene1_Brother.y = 335; _target.scene2_Brother = new ( domain.getDefinition( "scene2.Brother" ) as Class ); _target.scene2_Brother.x = 200; _target.scene2_Brother.y = 475; _target.scene2_Shout = new ( domain.getDefinition( "scene2.Shout" ) as Class ); _target.scene2_Shout.x = 240; _target.scene2_Shout.y = 215; _target.scene3_Brother = new ( domain.getDefinition( "scene3.Brother" ) as Class ); _target.scene3_Brother.x = 230; _target.scene3_Brother.y = 348; _target.scene3_CutIn1 = new ( domain.getDefinition( "scene3.CutIn1" ) as Class ); _target.scene3_CutIn1.x = -226; _target.scene3_CutIn1.y = -70; _target.scene3_CutIn2 = new ( domain.getDefinition( "scene3.CutIn2" ) as Class ); _target.scene3_CutIn2.x = -226; _target.scene3_CutIn2.y = 312; _target.scene3_SE = new ( domain.getDefinition( "scene3.SE" ) as Class ); _target.scene3_SE.x = 259; _target.scene3_SE.y = 237; _target.scene3_Sister = new ( domain.getDefinition( "scene3.Sister" ) as Class ); _target.scene3_Sister.x = 0; _target.scene3_Sister.y = 387; _target.scene4_Balloon = new ( domain.getDefinition( "scene4.Balloon" ) as Class ); _target.scene4_Balloon.x = 185; _target.scene4_Balloon.y = 370; _target.scene4_Brother = new ( domain.getDefinition( "scene4.Brother" ) as Class ); _target.scene4_Brother.x = 112; _target.scene4_Brother.y = 216; _target.scene4_Sister = new ( domain.getDefinition( "scene4.Sister" ) as Class ); _target.scene4_Sister.x = 316; _target.scene4_Sister.y = 485; var frameBorder:MovieClip = new ( domain.getDefinition( "ui.FrameBorder" ) as Class ); var nextButton:MovieClip = new ( domain.getDefinition( "ui.NextButton" ) as Class ); nextButton.managerId = "index"; nextButton.x = 435; nextButton.y = 30; nextButton.addEventListener( CastMouseEvent.CAST_NAVIGATE_BEFORE, _castNavigateBefore ); var previousButton:MovieClip = new ( domain.getDefinition( "ui.PreviousButton" ) as Class ); previousButton.managerId = "index"; previousButton.x = 30; previousButton.y = 30; previousButton.addEventListener( CastMouseEvent.CAST_NAVIGATE_BEFORE, _castNavigateBefore ); _target.stage.addChild( frameBorder ); _target.stage.addChild( nextButton ); _target.stage.addChild( previousButton ); } ); } private static function _introduction( e:SceneEvent ):void { _target.introduction(); } private static function _introductionInit( e:SceneEvent ):void { _target.introduction(); } private static function _development( e:SceneEvent ):void { _target.development(); } private static function _turn( e:SceneEvent ):void { _target.turn(); } private static function _conclusion( e:SceneEvent ):void { _target.conclusion(); } private static function _castNavigateBefore( e:CastMouseEvent ):void { _target.manager.stop(); } } Code Fullscreen Preview Fullscreen FTMSuperfly hacker_yblow.. teageek AddChild scaleY scaleX Prop DoTweener noise Equations.easeOutElastic SceneEvent MovieClip RemoveAllChildren addCommand mapBitmap time RemoveChild DisplacementMapFilter perlinNoise Equations.easeOutCubic Wait removeEventListener rect sort new page view favorite forked pv0 forked from: forked from: Prog.. mitien forked:0 favorite:0lines:322 (diff:1) pv193 forked from: forked from: Prog.. stratraces forked:0 favorite:1lines:322 (diff:1)