跳转到内容

ESEngine

使用 TypeScript 和 WebAssembly 构建 2D 游戏

特性

ECS 架构

面向数据的实体-组件-系统设计。通过可复用的组件组合游戏对象,用系统驱动行为。

WebGL 渲染

C++ 渲染管线编译为 WebAssembly。开箱即用的精灵、相机、Spine 动画和自定义着色器。

跨平台

一套代码同时运行在 Web 浏览器和微信小游戏,通过平台适配器实现。

TypeScript SDK

类型安全的 API:defineSystemdefineComponentQuery — 用地道的 TypeScript 编写游戏逻辑。

快速示例

定义自定义组件,在场景编辑器中挂到实体上,然后编写系统:

import {
defineComponent, defineSystem, addSystem,
Query, Res, Time, Mut, LocalTransform
} from 'esengine';
const Speed = defineComponent('Speed', { value: 200 });
addSystem(defineSystem(
[Res(Time), Query(Mut(LocalTransform), Speed)],
(time, query) => {
for (const [entity, transform, speed] of query) {
transform.position.x += speed.value * time.delta;
}
}
));

下一步

快速开始

几分钟内创建你的第一个游戏。

开始 →