flash on 2011-12-12
♥0 |
Line 56 |
Modified 2011-12-12 05:11:13 |
MIT License
archived:2017-03-20 06:20:00
ActionScript3 source code
/**
* Copyright tjoen ( http://wonderfl.net/user/tjoen )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/gv3M
*/
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);
}
}
}