package { import flash.display.Bitmap; import flash.display.DisplayObject; import flash.display.Sprite; import flash.events.MouseEvent; import flash.filters.DropShadowFilter; import flash.filters.GlowFilter; import Utilitaires.geom.SatCircle; import Utilitaires.geom.SatShape; import gs.TweenLite; /** * Une pièce. * @author Neamar */ public class Coin extends SatCircle { [Embed(source="../assets/1Centime.png")] public static var p1Cent:Class; [Embed(source="../assets/2Centimes.png")] public static var p2Cents:Class; [Embed(source="../assets/5Centimes.png")] public static var p5Cents:Class; [Embed(source="../assets/10Centimes.png")] public static var p10Cents:Class; [Embed(source="../assets/20Centimes.png")] public static var p20Cents:Class; [Embed(source="../assets/50Centimes.png")] public static var p50Cents:Class; [Embed(source="../assets/1Euro.png")] public static var p1Euro:Class; [Embed(source="../assets/2Euros.png")] public static var p2Euros:Class; /** * La valeur en points de la pièce. */ public var Valeur:Number; private var Parent:Level; private var Img:Bitmap; /** * Crée une nouvelle pièce * * @param Parent Le niveau conteneur. * @param IDClass Le type que doit avoir la pièce : 1€, 50 centimes... */ public function Coin(Parent:Level,IDClass:int) { this.Parent = Parent; var CoinStyle:int = 0; Img = new Level.MonnaiePossibles[IDClass]; super(Global.FLASH_WIDTH * Math.random(),Global.FLASH_HEIGHT * Math.random(),Math.min(Img.width, Img.height) / 2) this.Valeur = Level.Valeurs[IDClass]; Img.smoothing = true; Img.x = -Img.width/2; Img.y = -Img.height/2; this.addChild(Img); this.filters = new Array(Global.SHADOW); this.addEventListener(MouseEvent.CLICK, Parent.tryRemove); this.cacheAsBitmap = true; this.rotation = -180 + Math.random() * 360; this.alpha = 0; TweenLite.to(this, .5, {alpha:1 } ); } /** * Détruit la pièce pour gagner de la mémoire. */ public override function destroy():void { Parent.removeChild(this); removeChild(getChildAt(0)); removeEventListener(MouseEvent.CLICK, Parent.tryRemove); super.destroy(); } /** * Supprime la pièce une fois qu'on lui a cliquée dessus. */ } }