Advertisement
Guest User

world.js

a guest
Oct 19th, 2021
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.80 KB | None | 0 0
  1. import Player from "../objects/player";
  2. import annaPng from "../scenes/assets/anna.png";
  3. import peterPng from "../scenes/assets/peter32.png";
  4. import robotPng from "../scenes/assets/robot32.png";
  5.  
  6. let player = {};
  7.  
  8. export default class world extends Phaser.Scene {
  9. constructor() {
  10. super("world");
  11. }
  12.  
  13. // incoming data from scene below
  14. init(data) {
  15. //this.player = data.player
  16. this.inventory = data.inventory;
  17.  
  18. // *** socketIO
  19. // Passed to player
  20. // scene
  21. // room
  22. // position { x: nnn, y: nn, direction : "down" }
  23. this.player = new Player(this, "world", {
  24. x: 650,
  25. y: 500,
  26. direction: "p-down",
  27. });
  28. }
  29.  
  30. preload() {
  31. this.load.spritesheet("anna", annaPng, {
  32. frameWidth: 64,
  33. frameHeight: 64,
  34. });
  35.  
  36. this.load.spritesheet("robot", robotPng, {
  37. frameWidth: 32,
  38. frameHeight: 32,
  39. });
  40.  
  41. this.load.spritesheet("peter", peterPng, {
  42. frameWidth: 32,
  43. frameHeight: 32,
  44. });
  45. }
  46.  
  47. create() {
  48. console.log("*** world");
  49. console.log("inventory: ", this.inventory);
  50.  
  51. let map = this.make.tilemap({
  52. key: "map0",
  53. });
  54.  
  55. let groundTiles = map.addTilesetImage("pipoya32x32", "pipoya");
  56.  
  57. this.groundLayer = map.createLayer("groundLayer", groundTiles, 0, 0);
  58. this.itemLayer = map.createLayer("itemLayer", groundTiles, 0, 0);
  59.  
  60. this.anims.create({
  61. key: "up-robot",
  62. frames: this.anims.generateFrameNumbers("robot", { start: 0, end: 7 }),
  63. frameRate: 15,
  64. repeat: -1,
  65. });
  66.  
  67. this.anims.create({
  68. key: "down-robot",
  69. frames: this.anims.generateFrameNumbers("robot", { start: 19, end: 25 }),
  70. frameRate: 15,
  71. repeat: -1,
  72. });
  73.  
  74. this.anims.create({
  75. key: "left-robot",
  76. frames: this.anims.generateFrameNumbers("robot", { start: 8, end: 16 }),
  77. frameRate: 15,
  78. repeat: -1,
  79. });
  80.  
  81. this.anims.create({
  82. key: "right-robot",
  83. frames: this.anims.generateFrameNumbers("robot", { start: 26, end: 35 }),
  84. frameRate: 15,
  85. repeat: -1,
  86. });
  87.  
  88. this.anims.create({
  89. key: "up-peter",
  90. frames: this.anims.generateFrameNumbers("peter", { start: 0, end: 7 }),
  91. frameRate: 15,
  92. repeat: -1,
  93. });
  94.  
  95. this.anims.create({
  96. key: "down-peter",
  97. frames: this.anims.generateFrameNumbers("peter", { start: 19, end: 25 }),
  98. frameRate: 15,
  99. repeat: -1,
  100. });
  101.  
  102. this.anims.create({
  103. key: "left-peter",
  104. frames: this.anims.generateFrameNumbers("peter", { start: 8, end: 16 }),
  105. frameRate: 15,
  106. repeat: -1,
  107. });
  108.  
  109. this.anims.create({
  110. key: "right-peter",
  111. frames: this.anims.generateFrameNumbers("peter", { start: 26, end: 35 }),
  112. frameRate: 15,
  113. repeat: -1,
  114. });
  115.  
  116. /////////////////////////////////////////////////////////////////
  117. // SocketIO codes //////////////////////////////////////////////
  118.  
  119. this.player.create("robot");
  120.  
  121. // debug for player
  122. window.player = this.player;
  123.  
  124. this.cameras.main.on("camerafadeincomplete", () => {
  125. this.transition = false;
  126.  
  127. // send stop when keyup
  128. this.input.keyboard.on("keyup", (event) => {
  129. if (event.keyCode >= 37 && event.keyCode <= 40) {
  130. this.player.stop();
  131. }
  132. });
  133. });
  134.  
  135. let playerId = this.player.socket.id;
  136. console.log("player id: ", playerId);
  137.  
  138. //let player = this.player.playersObj[playerId];
  139. console.log("this.player: ", this.player);
  140.  
  141. this.anna = this.physics.add.sprite(400, 400, "anna");
  142.  
  143. this.physics.add.collider(this.anna, player);
  144.  
  145. /////////////////////////////////////////////////////////////////
  146.  
  147. // door1
  148. this.itemLayer.setTileIndexCallback(360, this.room1, this);
  149. this.itemLayer.setTileIndexCallback(368, this.room1, this);
  150.  
  151. // door2
  152. this.itemLayer.setTileIndexCallback(376, this.room2, this);
  153. this.itemLayer.setTileIndexCallback(384, this.room2, this);
  154.  
  155. this.physics.add.collider(this.itemLayer, this.player);
  156.  
  157. this.cursors = this.input.keyboard.createCursorKeys();
  158.  
  159. this.cameras.main.setBounds(0, 0, map.widthInPixels, map.heightInPixels);
  160. //this.cameras.main.startFollow(this.player);
  161.  
  162. // mini map
  163. this.minimap = this.cameras
  164. .add(10, 10, 150, 150)
  165. .setZoom(0.5)
  166. .setName("mini");
  167. this.minimap.setBackgroundColor(0x000000);
  168. this.minimap.startFollow(player);
  169. this.minimap.setBounds(0, 0, map.widthInPixels, map.heightInPixels);
  170. // this.minimap.scrollX = 320;
  171. // this.minimap.scrollY = 320;
  172.  
  173. console.log(
  174. "game canvas (w,h): ",
  175. this.sys.game.canvas.width,
  176. this.sys.game.canvas.height
  177. );
  178. console.log("InPixels (w,h): ", map.widthInPixels, map.heightInPixels);
  179. }
  180.  
  181. update() {
  182. player = this.player.currentPlayer;
  183.  
  184. if (this.cursors.left.isDown) {
  185. this.player.left();
  186. //this.player.body.setVelocityX(-speed);
  187. } else if (this.cursors.right.isDown) {
  188. this.player.right();
  189. //this.player.body.setVelocityX(speed);
  190. } else if (this.cursors.up.isDown) {
  191. this.player.up();
  192. //this.player.body.setVelocityY(-speed);
  193. } else if (this.cursors.down.isDown) {
  194. this.player.down();
  195. //this.player.body.setVelocityY(speed);
  196. }
  197. } /////////////////// end of update //////////////////////////////////////
  198.  
  199. room1(player, tile) {
  200. console.log("room1: ", tile);
  201. // this.scene.start("room1", {
  202. // player: player,
  203. // inventory: this.inventory,
  204. // });
  205. }
  206.  
  207. room2(player, tile) {
  208. console.log("room2: ", tile);
  209. // this.scene.start("room2", {
  210. // player: player,
  211. // inventory: this.inventory,
  212. // });
  213. }
  214. } //////////// end of class world ////////////////////////
  215.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement