IT

← Estensioni del motore JumPHP

Physics v0.5.13

jumphp/physics · MIT · 11 download

A small 2D physics engine for JumPHP: balls, rings and arcs (rotating, opening, growing, shrinking, with gaps), pegs, walls; gravity, restitution, collision events; fixed step, seeded, 32-bit safe

Funziona con JumPHP ^0.5

Aggiungila al tuo gioco

bin/jumphp extension:add <game> jumphp/physics

Oppure con Composer:

bin/jumphp composer <game> require jumphp/physics

Servizi: JumPHP\Physics2d\World
Chiavi di project.yaml: physics

Codice sorgente Packagist

jumphp/physics

A small 2D physics engine for JumPHP (an engine extension, docs/extensions.md), made for "satisfying" videos and simple games: balls bouncing inside rings and arcs (turning, opening, growing, shrinking, with gaps), on pegs and walls, under gravity. Fixed step, seeded, the same run on the desktop and in the browser (32-bit PHP).

public function __construct(private World $world) {}

$this->world->reset(42);
$ring = $this->world->addRing(new Ring(135, 240, 120, gap: 0.6, spin: 1.2));
$this->world->addBall(new Ball(135, 200, vx: 140, radius: 7, color: '#ff4fa3'));
$this->world->on(fn (array $hit) => $hit['type'] === 'escape' && $this->win());

// update(): $this->world->update($dt); foreach ($this->world->hits() as $hit) { ... }

project.yaml physics: {gravity: 600, restitution: 1.0, hz: 240, seed: 1}. Example: games/shorts-demo.

Recensioni di questa estensione

Accedi con GitHub Accedi con GitHub per valutare questa estensione.

Ancora nessuna recensione: sii il primo.