ZH

← JumPHP 引擎扩展

Physics v0.5.13

jumphp/physics · MIT · 11 次下载

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

适用于 JumPHP ^0.5

添加到你的游戏

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

或使用 Composer:

bin/jumphp composer <game> require jumphp/physics

服务: JumPHP\Physics2d\World
project.yaml 键: physics

源代码 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.

对此扩展的评价

使用 GitHub 登录 请使用 GitHub 登录后为此扩展评分。

暂无评价:来做第一个吧。