home *** CD-ROM | disk | FTP | other *** search
- package core.objects
- {
- import Box2D.Common.Math.b2Vec2;
- import caurina.transitions.Tweener;
- import flash.display.Sprite;
- import flash.geom.Point;
-
- public class Circle extends Ball
- {
-
-
- public function Circle(def:CircleDef)
- {
- super(def);
- }
-
- override protected function createSkin() : Sprite
- {
- var SkinClass:Class = engine.assets.getAssetClass("CircleAsset");
- var skin:Sprite = new SkinClass();
- skin.width = skin.height = ballDef.r * 2;
- engine.canvas.coinsContainer.addChild(skin);
- return skin;
- }
-
- private function animComplete(animSprite:Sprite) : void
- {
- animSprite.parent.removeChild(animSprite);
- }
-
- public function collidePlayer() : void
- {
- isDead = true;
- var animSkin:Sprite = createSkin();
- var b2pos:b2Vec2 = body.GetPosition();
- var pos:Point = new Point(b2pos.x * engine.m_physScale,b2pos.y * engine.m_physScale);
- var w:Number = skin.width;
- animSkin.x = pos.x;
- animSkin.y = pos.y;
- animSkin.width = w;
- animSkin.height = w;
- animSkin.rotation = body.GetAngle() * 180 / Math.PI;
- Tweener.addTween(animSkin,{
- "scaleX":animSkin.scaleX * 3,
- "scaleY":animSkin.scaleY * 3,
- "alpha":0,
- "time":0.5,
- "transition":"easeoutquad",
- "onComplete":animComplete,
- "onCompleteParams":[animSkin]
- });
- }
- }
- }
-