9 - Keyboard

We can also support pressing the space bar to jump for players using a keyboard through a browser.

To do this we can look at the inputs.keysJustPressed object to see if the space key was just pressed.

The fields inputs.keysDown and inputs.keysJustPressed contain an object which will have a true value for any key codes pressed. Check out keycode.info for possible key values.

BackNext
1import { makeSprite } from "@replay/core";
2import { Bird } from "./bird";
3
4const birdX = 0;
5
6export const Level = makeSprite({
7 init() {
8 return {
9 birdY: 10,
10 birdGravity: -12,
11 };
12 },
13
14 loop({ state, getInputs }) {
15 const inputs = getInputs();
16
17 let { birdGravity, birdY } = state;
18
19 birdGravity += 0.8;
20 birdY -= birdGravity;
21
22 if (inputs.pointer.justPressed || inputs.keysJustPressed[" "]) {
23 birdGravity = -12;
24 }
25
26 return {
27 birdGravity,
28 birdY,
29 };
30 },
31
32 render({ state }) {
33 return [
34 Bird({
35 id: "bird",
36 x: birdX,
37 y: state.birdY,
38 }),
39 ];
40 },
41});
42
Preview