RU

← Расширения движка 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, чтобы оценить это расширение.

Отзывов пока нет: будьте первым.