/ Published in: ActionScript 3
This is for learning how to use Snipplr on my website.
Expand |
Embed | Plain Text
package lib.actors { import Box2D.Collision.Shapes.b2CircleShape; import Box2D.Common.Math.b2Vec2; import Box2D.Dynamics.b2Body; import Box2D.Dynamics.b2BodyDef; import Box2D.Dynamics.b2FixtureDef; import flash.display.DisplayObjectContainer; import flash.display.Sprite; import flash.events.MouseEvent; import flash.geom.Point; import lib.*; import flash.display.DisplayObject; /** * ... * @author Jeff */ public class PaddleActor extends Actor { private static const DIAMETER:uint = 70; private var _playerNumber:Boolean; public function PaddleActor(parent:DisplayObjectContainer, playerNum:Boolean) { _playerNumber = playerNum; //_body.SetSleepingAllowed = false; super(parent, createPaddleBody(), createPaddleCostume(parent)); } private function createPaddleBody():b2Body { var location:Point = new Point(); location.x = (_playerNumber) ? 200 : 700; location.y = 300; // Create shape definition var circleBodyDef:b2BodyDef = new b2BodyDef(); circleBodyDef.position.Set(location.x / WorldInfo.RATIO, location.y / WorldInfo.RATIO); //circleBodyDef.linearVelocity.Set(initVel.x / WorldInfo.RATIO, initVel.y / WorldInfo.RATIO); circleBodyDef.type = b2Body.b2_kinematicBody; var circleBody:b2Body = WorldInfo.world.CreateBody(circleBodyDef); // Create the circle shape. var circleShape:b2CircleShape = new b2CircleShape(DIAMETER / 2 / WorldInfo.RATIO); // Create the fixture var circleFixtureDef:b2FixtureDef = new b2FixtureDef(); circleFixtureDef.shape = circleShape; // Assign attributes of ball. circleFixtureDef.density = 1; circleFixtureDef.friction = 0; circleFixtureDef.restitution = 1; // Assign the fixture to the body. circleBody.CreateFixture(circleFixtureDef); return circleBody; } private function createPaddleCostume(parent:DisplayObjectContainer):Sprite { var paddle:Sprite = (_playerNumber) ? new PaddlePlayer1() : new PaddlePlayer2(); paddle.scaleX = DIAMETER / paddle.width; paddle.scaleY = DIAMETER / paddle.height; parent.addChild(paddle); return paddle; } protected override function childUpdate():void { if (_playerNumber) { // Player 1 stuff //_body.SetPosition(new b2Vec2(_parent.mouseX / WorldInfo.RATIO, _parent.mouseY / WorldInfo.RATIO)); //_body.SetLinearVelocity(new b2Vec2(_parent.mouseX //= boxMouseX * _mouseSecondsToReach / _timeStep; } else { // Player 2. AI? } } public function get playerNumber():Boolean { return _playerNumber; } public function set playerNumber(value:Boolean):void { _playerNumber = value; } } }
You need to login to post a comment.
