Skip to content

Commit 2b0aa57

Browse files
refactor: refactor constant to enum
1 parent c3ef2b9 commit 2b0aa57

File tree

5 files changed

+29
-34
lines changed

5 files changed

+29
-34
lines changed

src/constants/key.ts

+10-15
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
1-
const image = {
2-
dude: 'dude',
3-
ground: 'ground',
4-
sky: 'sky',
5-
star: 'star',
6-
} as const;
1+
export enum Image {
2+
Dude = 'Dude',
3+
Ground = 'Ground',
4+
Sky = 'Sky',
5+
Star = 'Star',
6+
}
77

8-
const scene = {
9-
boot: 'boot',
10-
main: 'main',
11-
} as const;
12-
13-
export const key = {
14-
image,
15-
scene,
16-
} as const;
8+
export enum Scene {
9+
Boot = 'Boot',
10+
Main = 'Main',
11+
}

src/gameobjects/Player.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import Phaser from 'phaser';
22

3-
import { key } from '../constants';
3+
import { Image } from '../constants';
44

55
enum Animation {
66
Left = 'PlayerLeft',
@@ -21,7 +21,7 @@ export class Player extends Phaser.Physics.Arcade.Sprite {
2121
scene: Phaser.Scene,
2222
x: number,
2323
y: number,
24-
texture = key.image.dude,
24+
texture = Image.Dude,
2525
frame = 0,
2626
) {
2727
super(scene, x, y, texture, frame);
@@ -50,7 +50,7 @@ export class Player extends Phaser.Physics.Arcade.Sprite {
5050
if (!anims.exists(Animation.Left)) {
5151
anims.create({
5252
key: Animation.Left,
53-
frames: anims.generateFrameNumbers(key.image.dude, {
53+
frames: anims.generateFrameNumbers(Image.Dude, {
5454
start: 0,
5555
end: 3,
5656
}),
@@ -63,7 +63,7 @@ export class Player extends Phaser.Physics.Arcade.Sprite {
6363
if (!anims.exists(Animation.Turn)) {
6464
anims.create({
6565
key: Animation.Turn,
66-
frames: [{ key: key.image.dude, frame: 4 }],
66+
frames: [{ key: Image.Dude, frame: 4 }],
6767
frameRate: 20,
6868
});
6969
}
@@ -72,7 +72,7 @@ export class Player extends Phaser.Physics.Arcade.Sprite {
7272
if (!anims.exists(Animation.Right)) {
7373
anims.create({
7474
key: Animation.Right,
75-
frames: anims.generateFrameNumbers(key.image.dude, {
75+
frames: anims.generateFrameNumbers(Image.Dude, {
7676
start: 5,
7777
end: 8,
7878
}),

src/gameobjects/Star.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import Phaser from 'phaser';
22

3-
import { key } from '../constants';
3+
import { Image } from '../constants';
44

55
export class Star extends Phaser.Physics.Arcade.Sprite {
66
constructor(
77
scene: Phaser.Scene,
88
x: number,
99
y: number,
10-
texture = key.image.star,
10+
texture = Image.Star,
1111
frame: string | number,
1212
) {
13-
super(scene, x, y, texture || key.image.star, frame);
13+
super(scene, x, y, texture || Image.Star, frame);
1414

1515
// Reset drawing position of image to the top-left
1616
this.setOrigin(0);

src/scenes/Boot.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
import Phaser from 'phaser';
22

33
import { dude, platform, sky, star } from '../assets';
4-
import { key } from '../constants';
4+
import { Image, Scene } from '../constants';
55

66
export class Boot extends Phaser.Scene {
77
constructor() {
8-
super(key.scene.boot);
8+
super({ key: Scene.Boot });
99
}
1010

1111
preload() {
12-
this.load.spritesheet(key.image.dude, dude, {
12+
this.load.spritesheet(Image.Dude, dude, {
1313
frameWidth: 32,
1414
frameHeight: 48,
1515
});
16-
this.load.image(key.image.ground, platform);
17-
this.load.image(key.image.sky, sky);
18-
this.load.image(key.image.star, star);
16+
this.load.image(Image.Ground, platform);
17+
this.load.image(Image.Sky, sky);
18+
this.load.image(Image.Star, star);
1919
}
2020

2121
create() {
22-
this.scene.start(key.scene.main);
22+
this.scene.start(Scene.Main);
2323
}
2424
}

src/scenes/Main.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,26 @@ import Phaser from 'phaser';
22
import { render } from 'phaser-jsx';
33

44
import { Score } from '../components';
5-
import { key } from '../constants';
5+
import { Image, Scene } from '../constants';
66
import { Player, Star } from '../gameobjects';
77

88
export class Main extends Phaser.Scene {
99
private player!: Player;
1010
private text!: Phaser.GameObjects.Text;
1111

1212
constructor() {
13-
super(key.scene.main);
13+
super({ key: Scene.Main });
1414
}
1515

1616
create() {
1717
// A simple background for our game.
18-
this.add.image(0, 0, key.image.sky).setOrigin(0);
18+
this.add.image(0, 0, Image.Sky).setOrigin(0);
1919

2020
// The platforms group contains the ground and the 2 ledges we can jump on.
2121
// It's created after the background so the order of layers (z-depth) is
2222
// maintained (otherwise, the platforms will be hidden by the background).
2323
const platforms = this.physics.add.staticGroup({
24-
defaultKey: key.image.ground,
24+
defaultKey: Image.Ground,
2525
});
2626

2727
// Create the ground (scale it to fit the width of the game).

0 commit comments

Comments
 (0)