Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static public function createPlayer(scene:String):IEntity
- {
- var entity:IEntity = allocateEntity();
- entity.initialize("Player");
- //Create our Spatial Component / Physical Body thats going to hold the playerShape
- var spatial:Box2DSpatialComponent = new Box2DSpatialComponent();
- spatial.spatialManager = PBE.spatialManager as Box2DManagerComponent;
- spatial.size = new Point(256, 256);
- spatial.canSleep = false;
- spatial.canRotate = false;
- spatial.collisionType = new ObjectType("Player", "Renderable");
- spatial.collidesWithTypes = new ObjectType("Platform", "Enemy");
- var collisionShape:PolygonCollisionShape = new PolygonCollisionShape();
- collisionShape.vertices = new Array();
- collisionShape.vertices.push(new Point(-1, -1));
- collisionShape.vertices.push(new Point(1, -1));
- collisionShape.vertices.push(new Point(1, 1));
- collisionShape.vertices.push(new Point(-1, 1));
- spatial.collisionShapes = new Array();
- spatial.collisionShapes.push(collisionShape);
- entity.addComponent(spatial, "Spatial");
- spatial.buildCollisionShapes();
- //The sprite object that is to be controlled
- var Render:SpriteSheetRenderer = new SpriteSheetRenderer();
- Render.positionProperty = new PropertyReference("@Spatial.position");
- Render.layerIndex = 10;
- entity.addComponent( Render, "Render" );
- //Sprite Animation Controller
- var Animation:AnimationController = new AnimationController();
- Animation.spriteSheetReference = new PropertyReference("@Render.spriteSheet");
- Animation.currentFrameReference = new PropertyReference("@Render.spriteIndex");
- Animation.defaultAnimation = "IdleRight";
- Animation.changeAnimationEvent = "PlayerAnimation";
- Animation.currentAnimationReference = new PropertyReference("@Input.currentAnimation");
- //SpriteSheets for the animations with dividers
- //Now lets list the SpriteSheets with Animation Names
- //PawnIdleRight SpriteSheet and Animation
- var IdleRightSS:SpriteSheetComponent = new SpriteSheetComponent();
- IdleRightSS.imageFilename = "../assets/player/SSpawnIdleRight.png";
- var Divider0:FixedSizeDivider = new FixedSizeDivider();
- Divider0.width = 256;
- Divider0.height = 256;
- IdleRightSS.divider = Divider0;
- var IdleRightA:AnimationControllerInfo = new AnimationControllerInfo();
- IdleRightA.frameRate = 12;
- IdleRightA.loop = true;
- IdleRightA.spriteSheet = IdleRightSS;
- Animation.animations["IdleRight"] = IdleRightA;
- //PawnIdleLeft SpriteSheet and Animation
- var idleLeftSS:SpriteSheetComponent = new SpriteSheetComponent();
- idleLeftSS.imageFilename = "../assets/player/SSpawnIdleLeft.png";
- var Divider1:FixedSizeDivider = new FixedSizeDivider();
- Divider1.width = 256;
- Divider1.height = 256;
- idleLeftSS.divider = Divider1;
- var IdleLeftA:AnimationControllerInfo = new AnimationControllerInfo();
- IdleLeftA.frameRate = 12;
- IdleLeftA.loop = true;
- IdleLeftA.spriteSheet = idleLeftSS;
- Animation.animations["IdleLeft"] = IdleLeftA;
- //PawnMoveRight SpriteSheet and Animation
- var moveRightSS:SpriteSheetComponent = new SpriteSheetComponent();
- moveRightSS.imageFilename = "../assets/player/SSpawnMoveRight.png";
- var Divider2:FixedSizeDivider = new FixedSizeDivider();
- Divider2.width = 256;
- Divider2.height = 256;
- moveRightSS.divider = Divider2;
- var MoveRightA:AnimationControllerInfo = new AnimationControllerInfo();
- MoveRightA.frameRate = 12;
- MoveRightA.loop = true;
- MoveRightA.spriteSheet = moveRightSS;
- Animation.animations["moveRight"] = MoveRightA;
- //PawnMoveLeft SpriteSheet and Animation
- var moveLeftSS:SpriteSheetComponent = new SpriteSheetComponent();
- moveLeftSS.imageFilename = "../assets/player/SSpawnMoveLeft.png";
- var Divider3:FixedSizeDivider = new FixedSizeDivider();
- Divider3.width = 256;
- Divider3.height = 256;
- moveLeftSS.divider = Divider3;
- var MoveLeftA:AnimationControllerInfo = new AnimationControllerInfo();
- MoveLeftA.frameRate = 12;
- MoveLeftA.loop = true;
- MoveLeftA.spriteSheet = moveLeftSS;
- Animation.animations["moveLeft"] = MoveLeftA;
- entity.addComponent(Animation, "Animation");
- var Input:PawnKeyboardController = new PawnKeyboardController();
- Input.PositionReference = new PropertyReference("@Spatial.position");
- Input.VelocityReference = new PropertyReference("@Spatial.linearVelocity");
- Input.AnimationEventName = "PlayerAnimation";
- Input.Speed = 75;
- Input.JumpSpeed = 200;
- entity.addComponent(Input, "Input");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement