IsaacM Posted November 14, 2019 Share Posted November 14, 2019 Hi ! I have a problem when i want to import this line : game.physics.startSystem(Phaser.Physics.ARCADE); and i have this error : game.js:32 Uncaught TypeError: Cannot read property 'startSystem' of undefined my main.js is that : var game = new Phaser.Game( { type: Phaser.AUTO, // Which renderer to use width: 500, // Canvas width in pixels height: 500, // Canvas height in pixels parent: "game-container", // ID of the DOM element to add the canvas to scene: { preload: preload, create: create, update: update }, physics: { default: "arcade", arcade: { gravity: { y: 0 } // Top down game, so no gravity } } }); let player; function preload() { this.load.image("perso", "../assets/images/perso.png"); this.load.image("tiles", "../assets/tilesets/atlas.png"); this.load.tilemapTiledJSON("map", "../assets/tilemaps/map.json"); } function create() { game.physics.startSystem(Phaser.Physics.ARCADE); const map = this.make.tilemap({ key: "map" }); // Parameters are the name you gave the tileset in Tiled and then the key of the tileset image in // Phaser's cache (i.e. the name you used in preload) const tileset = map.addTilesetImage("atlas", "tiles"); // Parameters: layer name (or index) from Tiled, tileset, x, y const fond = map.createStaticLayer("fond", tileset, 0, 0); const worldLayer = map.createStaticLayer("element", tileset, 0, 0); worldLayer.setCollisionBetween(12, 44); worldLayer.setCollisionByProperty({ collides: true }); const debugGraphics = this.add.graphics().setAlpha(0.75); const spawnPoint = map.findObject("Objects", obj => obj.name === "spawnPoint"); player = this.physics.add.sprite(spawnPoint.x, spawnPoint.y, "perso"); const spawnPointM = map.findObject("ObjectsPosM", obj => obj.name === "spawnPointM"); monster = this.physics.add.sprite(spawnPointM.x, spawnPointM.y, "perso"); this.physics.add.collider(player, worldLayer); this.cameras.main.startFollow(player, true, 0.08, 0.08); this.cameras.main.setZoom(1.5); } function update(time, delta) { var speed = 300 // Stop any previous movement from the last frame player.body.setVelocity(0); cursors = this.input.keyboard.createCursorKeys() // Horizontal movement if (cursors.left.isDown) { player.body.setVelocityX(-100); } else if (cursors.right.isDown) { player.body.setVelocityX(100); } // Vertical movement if (cursors.up.isDown) { player.body.setVelocityY(-100); } else if (cursors.down.isDown) { player.body.setVelocityY(100); } // Normalize and scale the velocity so that player can't move faster along a diagonal player.body.velocity.normalize().scale(speed); } Im sorry if my english is bad, im a french student... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.