Skip to content

Latest commit

 

History

History
118 lines (88 loc) · 3.27 KB

README_CN.md

File metadata and controls

118 lines (88 loc) · 3.27 KB

Eva.js (互动游戏引擎)

Eva.js logo

npm-version npm-size npm-download

Chinese | English

介绍

Eva.js 是一个专注于开发互动游戏项目的前端游戏引擎。

易用:Eva.js 提供开箱即用的游戏组件供开发人员立即使用。是的,它简单而优雅!

高性能:Eva.js 由高效的运行时和渲染管道 (Pixi.JS) 提供支持,这使得释放设备的全部潜力成为可能。

可扩展:得益于 ECS(实体-组件-系统)架构,你可以通过高度可定制的 API 扩展您的需求。唯一的限制是你的想象力!

文档

你可以在官方网站 eva.js.org 找到 Eva.js 的文档, 在 文档仓库 提交 PR 为 Eva.js 文档进行查漏补缺。

使用

提供两种使用方式,一种是基于NPM,另外一种直接在浏览器中使用外链JS文件。

基于NPM

npm i @eva/eva.js @eva/plugin-renderer @eva/plugin-renderer-img --save

在浏览器中

<script src="https://unpkg.com/@eva/[email protected]/dist/EVA.min.js"></script>

案例

<canvas id="canvas" ></canvas>
import { Game, GameObject, resource, RESOURCE_TYPE } from '@eva/eva.js';
import { RendererSystem } from '@eva/plugin-renderer';
import { Img, ImgSystem } from '@eva/plugin-renderer-img';

resource.addResource([
  {
    name: 'imageName',
    type: RESOURCE_TYPE.IMAGE,
    src: {
      image: {
        type: 'png',
        url:
          'https://gw.alicdn.com/tfs/TB1DNzoOvb2gK0jSZK9XXaEgFXa-658-1152.webp',
      },
    },
    preload: true,
  },
]);

const game = new Game({
  systems: [
    new RendererSystem({
      canvas: document.querySelector('#canvas'),
      width: 750,
      height: 1000,
    }),
    new ImgSystem(),
  ],
});

const image = new GameObject('image', {
  size: { width: 750, height: 1319 },
  origin: { x: 0, y: 0 },
  position: {
    x: 0,
    y: -319,
  },
  anchor: {
    x: 0,
    y: 0,
  },
});

image.addComponent(
  new Img({
    resource: 'imageName',
  })
);

game.scene.addChild(image);

问题交流

可以在 Gitter 或者 微信 扫码 二维码 进行交流.

Issues

按照 Issue Reporting Checklist 提交 issue. 不符合准则的问题可能会立即关闭。

Changelog

版本记录.

Contribute

如何贡献

License

MIT, See LICENSE file.