Skip to content

Commit 122f7c6

Browse files
obiotclaude
andcommitted
feat(examples): waterOverworld — debug panel + arrow-key controls
- register @melonjs/debug-plugin (press "S" to toggle), like the other examples and the original demo build - arrow keys as movement aliases: ←/→ walk, ↑ jump (alongside A/D/W) - controls hint updated Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019t8kP8vp58ZrvaD2FqJU6A
1 parent c21c3d6 commit 122f7c6

3 files changed

Lines changed: 14 additions & 4 deletions

File tree

packages/examples/src/examples/waterOverworld/ExampleWaterOverworld.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ export const ExampleWaterOverworld = () => {
3030
borderRadius: 4,
3131
}}
3232
>
33-
A/D move · W jump · hold Shift to run — the pond refracts the scene via{" "}
34-
<code>screen_texture</code> / <code>screen_uv</code> /{" "}
35-
<code>noise_uv</code>
33+
A/D or ←/→ move · W/↑ jump · hold Shift to run · S toggles the debug panel
34+
— the pond refracts the scene via <code>screen_texture</code> /{" "}
35+
<code>screen_uv</code> / <code>noise_uv</code>
3636
</div>
3737
);
3838
};

packages/examples/src/examples/waterOverworld/entities.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,8 +244,11 @@ export class Male extends me.Sprite {
244244
this.body.setFriction(0.5, 0);
245245

246246
me.input.bindKey(me.input.KEY.A, "left");
247+
me.input.bindKey(me.input.KEY.LEFT, "left");
247248
me.input.bindKey(me.input.KEY.D, "right");
249+
me.input.bindKey(me.input.KEY.RIGHT, "right");
248250
me.input.bindKey(me.input.KEY.W, "jump", true);
251+
me.input.bindKey(me.input.KEY.UP, "jump", true);
249252
me.input.bindKey(me.input.KEY.SHIFT, "runLock");
250253

251254
this.alwaysUpdate = true;
@@ -294,8 +297,11 @@ export class Male extends me.Sprite {
294297

295298
override onDeactivateEvent() {
296299
me.input.unbindKey(me.input.KEY.A);
300+
me.input.unbindKey(me.input.KEY.LEFT);
297301
me.input.unbindKey(me.input.KEY.D);
302+
me.input.unbindKey(me.input.KEY.RIGHT);
298303
me.input.unbindKey(me.input.KEY.W);
304+
me.input.unbindKey(me.input.KEY.UP);
299305
me.input.unbindKey(me.input.KEY.SHIFT);
300306
}
301307
}

packages/examples/src/examples/waterOverworld/game.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
* Copyright (C) 2011 - 2026 AltByte Pte Ltd — MIT License.
44
* See `packages/examples/LICENSE.md` for full license + asset credits.
55
*/
6-
import { loader, state, video } from "melonjs";
6+
import { DebugPanelPlugin } from "@melonjs/debug-plugin";
7+
import { loader, plugin, state, video } from "melonjs";
78
import { registerEntities } from "./entities";
89
import { WaterOverworldStage } from "./play";
910

@@ -49,6 +50,9 @@ export const createGame = () => {
4950
return;
5051
}
5152

53+
// register the debug plugin (press "S" to toggle the panel)
54+
plugin.register(DebugPanelPlugin, "debugPanel");
55+
5256
registerEntities();
5357

5458
loader.preload(resources, () => {

0 commit comments

Comments
 (0)