Ryan Dahlke 2 жил өмнө
parent
commit
2680ffb412

+ 0 - 0
public/.gitkeep


+ 35 - 0
src/HelloWorldScene.ts

@@ -0,0 +1,35 @@
+import Phaser from 'phaser'
+
+export default class HelloWorldScene extends Phaser.Scene {
+	constructor() {
+		super('hello-world')
+	}
+
+	preload() {
+		this.load.setBaseURL('https://labs.phaser.io')
+
+		this.load.image('sky', 'assets/skies/space3.png')
+		this.load.image('logo', 'assets/sprites/phaser3-logo.png')
+		this.load.image('red', 'assets/particles/red.png')
+	}
+
+	create() {
+		this.add.image(400, 300, 'sky')
+
+		const particles = this.add.particles('red')
+
+		const emitter = particles.createEmitter({
+			speed: 100,
+			scale: { start: 1, end: 0 },
+			blendMode: 'ADD',
+		})
+
+		const logo = this.physics.add.image(400, 100, 'logo')
+
+		logo.setVelocity(100, 200)
+		logo.setBounce(1, 1)
+		logo.setCollideWorldBounds(true)
+
+		emitter.startFollow(logo)
+	}
+}

+ 19 - 0
src/main.ts

@@ -0,0 +1,19 @@
+import Phaser from 'phaser'
+
+import HelloWorldScene from './HelloWorldScene'
+
+const config: Phaser.Types.Core.GameConfig = {
+	type: Phaser.AUTO,
+	parent: 'app',
+	width: 800,
+	height: 600,
+	physics: {
+		default: 'arcade',
+		arcade: {
+			gravity: { y: 200 },
+		},
+	},
+	scene: [HelloWorldScene],
+}
+
+export default new Phaser.Game(config)

+ 1 - 0
src/vite-env.d.ts

@@ -0,0 +1 @@
+/// <reference types="vite/client" />