added a rock

This commit is contained in:
kharhamel 2020-04-11 18:17:36 +02:00
parent 793e5318f7
commit 241cbd720a
6 changed files with 53 additions and 2 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -1,6 +1,10 @@
import {MapManagerInterface, MapManager} from "./MapManager";
import {GameManagerInterface} from "./GameManager";
export enum Textures {
Rock = 'rock',
}
export interface GameSceneInterface extends Phaser.Scene {
RoomId : string;
sharedUserPosition(data : []): void;
@ -18,6 +22,7 @@ export class GameScene extends Phaser.Scene implements GameSceneInterface{
//hook preload scene
preload(): void {
this.load.image(Textures.Rock, 'resources/objects/rockSprite.png');
this.load.image('tiles', 'maps/tiles.png');
this.load.tilemapTiledJSON('map', 'maps/map2.json');
this.load.spritesheet('player',

View file

@ -1,8 +1,9 @@
import {CameraManager, CameraManagerInterface} from "./CameraManager";
import {RESOLUTION} from "../../Enum/EnvironmentVariable";
import {Player} from "../Player/Player";
import {GameScene, GameSceneInterface} from "./GameScene";
import {UserInputManager} from "../UserInput/UserInputManager";
import {Rock} from "../Rock/Rock";
import {GameSceneInterface} from "./GameScene";
import {UserInputEvent, UserInputManager} from "../UserInput/UserInputManager";
export interface MapManagerInterface {
Map: Phaser.Tilemaps.Tilemap;
@ -21,6 +22,7 @@ export class MapManager implements MapManagerInterface{
startX = (window.innerWidth / 2) / RESOLUTION;
startY = (window.innerHeight / 2) / RESOLUTION;
userInputManager: UserInputManager;
private rock: Rock;
constructor(scene: GameSceneInterface){
this.Scene = scene;
@ -44,11 +46,21 @@ export class MapManager implements MapManagerInterface{
this
);
this.CurrentPlayer.initAnimation();
this.rock = new Rock(
this.Scene,
100,
300,
);
//this.rock.set()
}
update() : void {
let activeEvents = this.userInputManager.getEventListForGameTick();
this.CurrentPlayer.move(activeEvents);
/*if (activeEvents.get(UserInputEvent.Interact)) {
}*/
}
}

View 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;
}
}
}

View file

@ -13,6 +13,7 @@ export enum UserInputEvent {
MoveRight,
MoveDown,
SpeedUp,
Interact,
}
//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.SHIFT, event: UserInputEvent.SpeedUp, keyInstance: null},
{keyCode: Phaser.Input.Keyboard.KeyCodes.E, event: UserInputEvent.Interact, keyInstance: null},
];
constructor(Scene : GameSceneInterface) {

View file

@ -12,6 +12,9 @@ const config: GameConfig = {
parent: "game",
scene: gameManager.GameScenes,
zoom: RESOLUTION,
physics: {
default: 'impact'
},
};
let game = new Phaser.Game(config);