Advertisement
Guest User

Untitled

a guest
May 11th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.74 KB | None | 0 0
  1. static public function createPlayer(scene:String):IEntity
  2. {
  3. var entity:IEntity = allocateEntity();
  4. entity.initialize("Player");
  5.  
  6. //Create our Spatial Component / Physical Body thats going to hold the playerShape
  7. var spatial:Box2DSpatialComponent = new Box2DSpatialComponent();
  8. spatial.spatialManager = PBE.spatialManager as Box2DManagerComponent;
  9. spatial.size = new Point(256, 256);
  10. spatial.canSleep = false;
  11. spatial.canRotate = false;
  12. spatial.collisionType = new ObjectType("Player", "Renderable");
  13. spatial.collidesWithTypes = new ObjectType("Platform", "Enemy");
  14.  
  15. var collisionShape:PolygonCollisionShape = new PolygonCollisionShape();
  16. collisionShape.vertices = new Array();
  17. collisionShape.vertices.push(new Point(-1, -1));
  18. collisionShape.vertices.push(new Point(1, -1));
  19. collisionShape.vertices.push(new Point(1, 1));
  20. collisionShape.vertices.push(new Point(-1, 1));
  21.  
  22. spatial.collisionShapes = new Array();
  23. spatial.collisionShapes.push(collisionShape);
  24. entity.addComponent(spatial, "Spatial");
  25. spatial.buildCollisionShapes();
  26.  
  27. //The sprite object that is to be controlled
  28.  
  29. var Render:SpriteSheetRenderer = new SpriteSheetRenderer();
  30. Render.positionProperty = new PropertyReference("@Spatial.position");
  31. Render.layerIndex = 10;
  32.  
  33. entity.addComponent( Render, "Render" );
  34.  
  35. //Sprite Animation Controller
  36. var Animation:AnimationController = new AnimationController();
  37. Animation.spriteSheetReference = new PropertyReference("@Render.spriteSheet");
  38. Animation.currentFrameReference = new PropertyReference("@Render.spriteIndex");
  39. Animation.defaultAnimation = "IdleRight";
  40. Animation.changeAnimationEvent = "PlayerAnimation";
  41. Animation.currentAnimationReference = new PropertyReference("@Input.currentAnimation");
  42.  
  43. //SpriteSheets for the animations with dividers
  44.  
  45. //Now lets list the SpriteSheets with Animation Names
  46. //PawnIdleRight SpriteSheet and Animation
  47. var IdleRightSS:SpriteSheetComponent = new SpriteSheetComponent();
  48. IdleRightSS.imageFilename = "../assets/player/SSpawnIdleRight.png";
  49. var Divider0:FixedSizeDivider = new FixedSizeDivider();
  50. Divider0.width = 256;
  51. Divider0.height = 256;
  52. IdleRightSS.divider = Divider0;
  53.  
  54. var IdleRightA:AnimationControllerInfo = new AnimationControllerInfo();
  55. IdleRightA.frameRate = 12;
  56. IdleRightA.loop = true;
  57. IdleRightA.spriteSheet = IdleRightSS;
  58. Animation.animations["IdleRight"] = IdleRightA;
  59.  
  60. //PawnIdleLeft SpriteSheet and Animation
  61. var idleLeftSS:SpriteSheetComponent = new SpriteSheetComponent();
  62. idleLeftSS.imageFilename = "../assets/player/SSpawnIdleLeft.png";
  63. var Divider1:FixedSizeDivider = new FixedSizeDivider();
  64. Divider1.width = 256;
  65. Divider1.height = 256;
  66. idleLeftSS.divider = Divider1;
  67.  
  68. var IdleLeftA:AnimationControllerInfo = new AnimationControllerInfo();
  69. IdleLeftA.frameRate = 12;
  70. IdleLeftA.loop = true;
  71. IdleLeftA.spriteSheet = idleLeftSS;
  72. Animation.animations["IdleLeft"] = IdleLeftA;
  73.  
  74. //PawnMoveRight SpriteSheet and Animation
  75. var moveRightSS:SpriteSheetComponent = new SpriteSheetComponent();
  76. moveRightSS.imageFilename = "../assets/player/SSpawnMoveRight.png";
  77. var Divider2:FixedSizeDivider = new FixedSizeDivider();
  78. Divider2.width = 256;
  79. Divider2.height = 256;
  80. moveRightSS.divider = Divider2;
  81.  
  82. var MoveRightA:AnimationControllerInfo = new AnimationControllerInfo();
  83. MoveRightA.frameRate = 12;
  84. MoveRightA.loop = true;
  85. MoveRightA.spriteSheet = moveRightSS;
  86. Animation.animations["moveRight"] = MoveRightA;
  87.  
  88. //PawnMoveLeft SpriteSheet and Animation
  89. var moveLeftSS:SpriteSheetComponent = new SpriteSheetComponent();
  90. moveLeftSS.imageFilename = "../assets/player/SSpawnMoveLeft.png";
  91. var Divider3:FixedSizeDivider = new FixedSizeDivider();
  92. Divider3.width = 256;
  93. Divider3.height = 256;
  94. moveLeftSS.divider = Divider3;
  95.  
  96. var MoveLeftA:AnimationControllerInfo = new AnimationControllerInfo();
  97. MoveLeftA.frameRate = 12;
  98. MoveLeftA.loop = true;
  99. MoveLeftA.spriteSheet = moveLeftSS;
  100. Animation.animations["moveLeft"] = MoveLeftA;
  101.  
  102. entity.addComponent(Animation, "Animation");
  103.  
  104. var Input:PawnKeyboardController = new PawnKeyboardController();
  105. Input.PositionReference = new PropertyReference("@Spatial.position");
  106. Input.VelocityReference = new PropertyReference("@Spatial.linearVelocity");
  107. Input.AnimationEventName = "PlayerAnimation";
  108. Input.Speed = 75;
  109. Input.JumpSpeed = 200;
  110.  
  111. entity.addComponent(Input, "Input");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement