Log inGet started
World

Blockbuster 767

Branchmain
Branchesmain
Commit8e9b87fcce

README.md

flight

The toy 767's controls: steer (pitch and bank), boost, dive, launch, pause.

Five controls, each bound for keyboard, gamepad and touch, and each doing two jobs depending on the state the game is in:

ControlOn the launcher (wind)In the air (flight)
steer (axis2)trims heading (x) and elevation (y)banks (x) and pitches (y)
launch (button)held to wind the key, released to throw—
boost (button)steps the called shot FORWARD through the standing landmarksthrust, while boost fuel lasts
brake (button)steps the called shot BACKairbrake: the wings stop carrying
menu (button)raises the pause cardraises the pause card

Stick forward (+y) pushes the nose DOWN on every device, on the launcher and in the air alike — the convention the how-to card states.

The touch overlay's margin

inputSim layout reads the four buttons at cx = 984, r = 72 on a 1080-wide screen (right edge 1056) and the bottom one at cy = 1344 (bottom edge 1416 of 1440) — a 24 px margin at both, inside Rules.LAYOUT.safeInset × 1080 = 37.8 px.

That 24 px is the engine's, not this map's. The overlay lays its buttons out from a fixed inset in @builtin::modules.zinput.touchControls, and B.touchButton accepts only zone, label, icon, priority, size and group — none of which move a button or change the inset. The same layout also draws every button at the LARGEST live button's radius, so the small on menu and the medium on boost / brake render at the large 72 as well (OrigoZero/zero#11845). Nothing this map can declare brings the column inside the safe inset; when the engine grows a lever for it, the four buttons want about 14 px more clearance on both edges.