added a rock
This commit is contained in:
parent
793e5318f7
commit
241cbd720a
BIN
front/dist/resources/objects/rockSprite.png
vendored
Normal file
BIN
front/dist/resources/objects/rockSprite.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
@ -1,6 +1,10 @@
|
|||||||
import {MapManagerInterface, MapManager} from "./MapManager";
|
import {MapManagerInterface, MapManager} from "./MapManager";
|
||||||
import {GameManagerInterface} from "./GameManager";
|
import {GameManagerInterface} from "./GameManager";
|
||||||
|
|
||||||
|
export enum Textures {
|
||||||
|
Rock = 'rock',
|
||||||
|
}
|
||||||
|
|
||||||
export interface GameSceneInterface extends Phaser.Scene {
|
export interface GameSceneInterface extends Phaser.Scene {
|
||||||
RoomId : string;
|
RoomId : string;
|
||||||
sharedUserPosition(data : []): void;
|
sharedUserPosition(data : []): void;
|
||||||
@ -18,6 +22,7 @@ export class GameScene extends Phaser.Scene implements GameSceneInterface{
|
|||||||
|
|
||||||
//hook preload scene
|
//hook preload scene
|
||||||
preload(): void {
|
preload(): void {
|
||||||
|
this.load.image(Textures.Rock, 'resources/objects/rockSprite.png');
|
||||||
this.load.image('tiles', 'maps/tiles.png');
|
this.load.image('tiles', 'maps/tiles.png');
|
||||||
this.load.tilemapTiledJSON('map', 'maps/map2.json');
|
this.load.tilemapTiledJSON('map', 'maps/map2.json');
|
||||||
this.load.spritesheet('player',
|
this.load.spritesheet('player',
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
import {CameraManager, CameraManagerInterface} from "./CameraManager";
|
import {CameraManager, CameraManagerInterface} from "./CameraManager";
|
||||||
import {RESOLUTION} from "../../Enum/EnvironmentVariable";
|
import {RESOLUTION} from "../../Enum/EnvironmentVariable";
|
||||||
import {Player} from "../Player/Player";
|
import {Player} from "../Player/Player";
|
||||||
import {GameScene, GameSceneInterface} from "./GameScene";
|
import {Rock} from "../Rock/Rock";
|
||||||
import {UserInputManager} from "../UserInput/UserInputManager";
|
import {GameSceneInterface} from "./GameScene";
|
||||||
|
import {UserInputEvent, UserInputManager} from "../UserInput/UserInputManager";
|
||||||
|
|
||||||
export interface MapManagerInterface {
|
export interface MapManagerInterface {
|
||||||
Map: Phaser.Tilemaps.Tilemap;
|
Map: Phaser.Tilemaps.Tilemap;
|
||||||
@ -21,6 +22,7 @@ export class MapManager implements MapManagerInterface{
|
|||||||
startX = (window.innerWidth / 2) / RESOLUTION;
|
startX = (window.innerWidth / 2) / RESOLUTION;
|
||||||
startY = (window.innerHeight / 2) / RESOLUTION;
|
startY = (window.innerHeight / 2) / RESOLUTION;
|
||||||
userInputManager: UserInputManager;
|
userInputManager: UserInputManager;
|
||||||
|
private rock: Rock;
|
||||||
|
|
||||||
constructor(scene: GameSceneInterface){
|
constructor(scene: GameSceneInterface){
|
||||||
this.Scene = scene;
|
this.Scene = scene;
|
||||||
@ -44,11 +46,21 @@ export class MapManager implements MapManagerInterface{
|
|||||||
this
|
this
|
||||||
);
|
);
|
||||||
this.CurrentPlayer.initAnimation();
|
this.CurrentPlayer.initAnimation();
|
||||||
|
this.rock = new Rock(
|
||||||
|
this.Scene,
|
||||||
|
100,
|
||||||
|
300,
|
||||||
|
);
|
||||||
|
//this.rock.set()
|
||||||
}
|
}
|
||||||
|
|
||||||
update() : void {
|
update() : void {
|
||||||
let activeEvents = this.userInputManager.getEventListForGameTick();
|
let activeEvents = this.userInputManager.getEventListForGameTick();
|
||||||
|
|
||||||
this.CurrentPlayer.move(activeEvents);
|
this.CurrentPlayer.move(activeEvents);
|
||||||
|
|
||||||
|
/*if (activeEvents.get(UserInputEvent.Interact)) {
|
||||||
|
|
||||||
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
28
front/src/Phaser/Rock/Rock.ts
Normal file
28
front/src/Phaser/Rock/Rock.ts
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import {GameSceneInterface, Textures} from "../Game/GameScene";
|
||||||
|
import {CameraManagerInterface} from "../Game/CameraManager";
|
||||||
|
import {MapManagerInterface} from "../Game/MapManager";
|
||||||
|
|
||||||
|
export class Rock extends Phaser.GameObjects.Image {
|
||||||
|
private isMoving: boolean;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
Scene : GameSceneInterface,
|
||||||
|
x : number,
|
||||||
|
y : number,
|
||||||
|
) {
|
||||||
|
super(Scene, x, y, Textures.Rock);
|
||||||
|
Scene.add.existing(this);
|
||||||
|
this.isMoving = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
push() {
|
||||||
|
console.log("the rock is pushed!")
|
||||||
|
}
|
||||||
|
|
||||||
|
move() {
|
||||||
|
if(!this.isMoving) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -13,6 +13,7 @@ export enum UserInputEvent {
|
|||||||
MoveRight,
|
MoveRight,
|
||||||
MoveDown,
|
MoveDown,
|
||||||
SpeedUp,
|
SpeedUp,
|
||||||
|
Interact,
|
||||||
}
|
}
|
||||||
|
|
||||||
//we cannot the map structure so we have to create a replacment
|
//we cannot the map structure so we have to create a replacment
|
||||||
@ -43,6 +44,8 @@ export class UserInputManager {
|
|||||||
{keyCode: Phaser.Input.Keyboard.KeyCodes.RIGHT, event: UserInputEvent.MoveRight, keyInstance: null},
|
{keyCode: Phaser.Input.Keyboard.KeyCodes.RIGHT, event: UserInputEvent.MoveRight, keyInstance: null},
|
||||||
|
|
||||||
{keyCode: Phaser.Input.Keyboard.KeyCodes.SHIFT, event: UserInputEvent.SpeedUp, keyInstance: null},
|
{keyCode: Phaser.Input.Keyboard.KeyCodes.SHIFT, event: UserInputEvent.SpeedUp, keyInstance: null},
|
||||||
|
|
||||||
|
{keyCode: Phaser.Input.Keyboard.KeyCodes.E, event: UserInputEvent.Interact, keyInstance: null},
|
||||||
];
|
];
|
||||||
|
|
||||||
constructor(Scene : GameSceneInterface) {
|
constructor(Scene : GameSceneInterface) {
|
||||||
|
@ -12,6 +12,9 @@ const config: GameConfig = {
|
|||||||
parent: "game",
|
parent: "game",
|
||||||
scene: gameManager.GameScenes,
|
scene: gameManager.GameScenes,
|
||||||
zoom: RESOLUTION,
|
zoom: RESOLUTION,
|
||||||
|
physics: {
|
||||||
|
default: 'impact'
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let game = new Phaser.Game(config);
|
let game = new Phaser.Game(config);
|
||||||
|
Loading…
Reference in New Issue
Block a user