added other players models and fixed collision with other entities
This commit is contained in:
parent
6e27377b07
commit
2b2b615e7b
@ -2,6 +2,7 @@ import {GameManagerInterface} from "./GameManager";
|
|||||||
import {UserInputManager} from "../UserInput/UserInputManager";
|
import {UserInputManager} from "../UserInput/UserInputManager";
|
||||||
import {getPlayerAnimations, PlayerAnimationNames} from "../Player/Animation";
|
import {getPlayerAnimations, PlayerAnimationNames} from "../Player/Animation";
|
||||||
import {Player} from "../Player/Player";
|
import {Player} from "../Player/Player";
|
||||||
|
import {NonPlayer} from "../NonPlayer/NonPlayer";
|
||||||
|
|
||||||
export enum Textures {
|
export enum Textures {
|
||||||
Rock = 'rock',
|
Rock = 'rock',
|
||||||
@ -20,6 +21,7 @@ export class GameScene extends Phaser.Scene implements GameSceneInterface{
|
|||||||
private player: Player;
|
private player: Player;
|
||||||
private rock: Phaser.Physics.Arcade.Sprite;
|
private rock: Phaser.Physics.Arcade.Sprite;
|
||||||
private userInputManager: UserInputManager;
|
private userInputManager: UserInputManager;
|
||||||
|
private otherPlayers: Phaser.Physics.Arcade.Group;
|
||||||
|
|
||||||
constructor(RoomId : string, GameManager : GameManagerInterface) {
|
constructor(RoomId : string, GameManager : GameManagerInterface) {
|
||||||
super({
|
super({
|
||||||
@ -55,9 +57,13 @@ export class GameScene extends Phaser.Scene implements GameSceneInterface{
|
|||||||
//create entities
|
//create entities
|
||||||
this.player = new Player(this, 400, 400);
|
this.player = new Player(this, 400, 400);
|
||||||
this.rock = this.physics.add.sprite(200, 400, Textures.Rock, 26).setImmovable(true);
|
this.rock = this.physics.add.sprite(200, 400, Textures.Rock, 26).setImmovable(true);
|
||||||
this.physics.world.addCollider(this.player, this.rock, (player: Player, rock) => {
|
this.physics.add.collider(this.player, this.rock);
|
||||||
rock.destroy();
|
|
||||||
});
|
this.otherPlayers = this.physics.add.group({ immovable: true });
|
||||||
|
this.otherPlayers.add(new NonPlayer(this, 200, 600));
|
||||||
|
this.otherPlayers.add(new NonPlayer(this, 400, 600));
|
||||||
|
|
||||||
|
this.physics.add.collider(this.player, this.otherPlayers);
|
||||||
|
|
||||||
//create map
|
//create map
|
||||||
let currentMap = this.add.tilemap(Textures.Map);
|
let currentMap = this.add.tilemap(Textures.Map);
|
||||||
|
10
front/src/Phaser/NonPlayer/NonPlayer.ts
Normal file
10
front/src/Phaser/NonPlayer/NonPlayer.ts
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import {PlayableCaracter} from "../Entity/PlayableCaracter";
|
||||||
|
import {Textures} from "../Game/GameScene";
|
||||||
|
|
||||||
|
export class NonPlayer extends PlayableCaracter {
|
||||||
|
|
||||||
|
constructor(scene: Phaser.Scene, x: number, y: number) {
|
||||||
|
super(scene, x, y, Textures.Player, 26);
|
||||||
|
this.setSize(32, 32); //edit the hitbox to better match the caracter model
|
||||||
|
}
|
||||||
|
}
|
@ -8,6 +8,7 @@ export class Player extends PlayableCaracter{
|
|||||||
|
|
||||||
constructor(scene: Phaser.Scene, x: number, y: number) {
|
constructor(scene: Phaser.Scene, x: number, y: number) {
|
||||||
super(scene, x, y, Textures.Player, 26);
|
super(scene, x, y, Textures.Player, 26);
|
||||||
|
this.setImmovable(false);
|
||||||
this.setSize(32, 32); //edit the hitbox to better match the caracter model
|
this.setSize(32, 32); //edit the hitbox to better match the caracter model
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user