jengine-tap
Tapping games for more than one finger: Burrow Bop and Ivory Lanes.
| Kind | Project package: linked into the builds of the projects that list it |
| Source | packages/jengine-tap |
| Version | 0.1.0 |
| Entry point | jengine_tap::TapPackage |
| Script namespace | Tap |
| Listed by | projects/arcade-classics |
Using it
Section titled “Using it”List it in the top-level "packages" array of project.jengine:
{ "packages": [ { "name": "jengine-tap", "source": { "type": "path", "path": "../../packages/jengine-tap" } } ]}Then rebuild the editor viewport for the project (jengine viewport-build projects/<name>, or the
editor’s Rebuild viewport banner). Native and web builds link it on their own.
A scene that uses its components must be a v2 scene ("version": 2): a v1 scene has no field
for a package component and keeps it as inert custom data.
A script can check that the package is linked with if Tap == nil then return end.
Components
Section titled “Components”| Scene key | Rust type | |
|---|---|---|
tp_burrow | Burrow | package only: needs a v2 scene |
tp_lanes | Lanes | package only: needs a v2 scene |
Script commands
Section titled “Script commands”Commands run in every runtime and return nothing; a package publishes what scripts read onto components (see the notes below). The flat name also works.
| Call | Flat name |
|---|---|
Tap.bop_start(e, seed) | tp_bop_start |
Tap.bop_stop(e) | tp_bop_stop |
Tap.bop_pause(e, paused) | tp_bop_pause |
Tap.bop_hole(e, hole) | tp_bop_hole |
Tap.bop_tap(e, x, y) | tp_bop_tap |
Tap.lanes_start(e, song, seed) | tp_lanes_start |
Tap.lanes_stop(e) | tp_lanes_stop |
Tap.lanes_pause(e, paused) | tp_lanes_pause |
Tap.lanes_key(e, lane, down) | tp_lanes_key |
Tap.lanes_tap(e, x, y) | tp_lanes_tap |
Scenes that use it
Section titled “Scenes that use it”projects/arcade-classics/assets/scenes/burrow.sceneprojects/arcade-classics/assets/scenes/ivory.scene
From packages/jengine-tap/src/lib.rs.
Tapping games for more than one finger - Burrow Bop and Ivory Lanes.
Both are played with several fingers at once: twin moles struck together,
a chord on two lanes, a long note held while another finger plays on. So
both read every finger themselves (fingers), from
InputState::touches - the engine’s multi-touch - through the frame
camera; without a touch screen the mouse is one finger and the keyboard
plays the holes and lanes by command. tp_bop_tap / tp_lanes_tap
deliver a tap by hand.
burrow- whack-a-mole: twelve holes, sixty seconds, moles, hard hats, golden moles, bombs and twins.lanes- piano tiles: four lanes, a song that plays as you tap, chords, long notes, and speed that grows.
Script commands
Section titled “Script commands”| Call | Does |
|---|---|
Tap.bop_start(e, seed) / Tap.bop_stop(e) / Tap.bop_pause(e, paused) | a round of Burrow Bop |
Tap.bop_hole(e, hole) | strike a hole (keys) |
Tap.bop_tap(e, x, y) | a tap at a world point, by hand |
Tap.lanes_start(e, song, seed) / Tap.lanes_stop(e) / Tap.lanes_pause(e, paused) | a run of Ivory Lanes |
Tap.lanes_key(e, lane, down) | a lane’s key going down or up |
Tap.lanes_tap(e, x, y) | a tap at a world point, by hand |
What scripts read
Section titled “What scripts read”tp_burrow: active, time_left, score, combo, multiplier,
best_combo, hits, escaped, bombs, doubles, over, and
events - rise, hit (points, combo, double), clang, boom,
escaped, combo_lost, thud, over.
tp_lanes: active, song, song_name, songs, score, played,
speed, laps, started, over, and events - note (notes, MIDI
numbers, for the script to sound), held, released, wrong,
missed.