/ Published in: ActionScript 3
URL: http://blog.soulwire.co.uk/code/open-source/two-sided-planes-in-flash-player-10
Here you must have some movieclips in your library with class names of "CardFront1", "CardBack1", "CardFront2", "CardBack2", "CardFront3", "CardBack3"
Expand |
Embed | Plain Text
package { import flash.display.MovieClip; import flash.events.Event; import flash.events.MouseEvent; import flash.utils.getDefinitionByName; import soulwire.display.PaperSprite; import com.greensock.*; import com.greensock.easing.*; public class paperSpriteDemo extends MovieClip { private const NUM_OF_CARDS:int = 3; private const TWEEN_DURATION_SECS:Number = 1.5; private const EASING_PARAMS_ARRAY:Array = [0, 1.5]; private const CARD_ARRAY_1:Array = ["CardFront1", "CardBack1", 200, 200]; private const CARD_ARRAY_2:Array = ["CardFront2", "CardBack2", 550, 200]; private const CARD_ARRAY_3:Array = ["CardFront3", "CardBack3", 900, 200]; private var arrayOfPaperSprites:Array; public function paperSpriteDemo() { arrayOfPaperSprites = new Array(); for (var i:int = 0; i < NUM_OF_CARDS; i++ ) { var paperSprite:PaperSprite = new PaperSprite(); var FrontClass:Class = getDefinitionByName(this["CARD_ARRAY_" + (i + 1)][0]) as Class; paperSprite.front = new FrontClass(); var BackClass:Class = getDefinitionByName(this["CARD_ARRAY_" + (i + 1)][1]) as Class; paperSprite.back = new BackClass(); paperSprite.buttonMode = true; paperSprite.mouseChildren = false; paperSprite.x = this["CARD_ARRAY_" + (i + 1)][2]; paperSprite.y = this["CARD_ARRAY_" + (i + 1)][3]; paperSprite.addEventListener(MouseEvent.CLICK, onCardClick); addChild(paperSprite); arrayOfPaperSprites.push(paperSprite); } stage.invalidate(); } private function onCardClick(e:MouseEvent):void { var card:PaperSprite = PaperSprite(e.currentTarget); if (card.isFrontFacing) { TweenLite.to(card, TWEEN_DURATION_SECS, {rotationY:180, ease:Elastic.easeOut, easeParams:EASING_PARAMS_ARRAY, onComplete:showingBack, onCompleteParams:[card]}); } else { TweenLite.to(card, TWEEN_DURATION_SECS, {rotationY:0, ease:Elastic.easeOut, easeParams:EASING_PARAMS_ARRAY, onComplete:showingFront, onCompleteParams:[card]}); } } private function showingFront(card:PaperSprite):void { trace("Showing the front of card: " + card); } private function showingBack(card:PaperSprite):void { trace("Showing the back of card: " + card); } } }
Comments
Subscribe to comments
You need to login to post a comment.

wow