eva-engine/eva.js
Eva.js is a front-end game engine specifically for creating interactive game projects.
repo name | eva-engine/eva.js |
repo link | https://github.com/eva-engine/eva.js |
homepage | https://eva.js.org |
language | JavaScript |
size (curr.) | 1726 kB |
stars (curr.) | 866 |
created | 2021-03-08 |
license | MIT License |
Eva.js (Interactive Game Engine)
Introduction
Eva.js is a front-end game engine specifically for creating interactive game projects.
Easy to Use: Eva.js provides out-of-box game components for developers to use right away. Yes, it’s simple and elegant!
High-performance: Eva.js is powered by efficient runtime and rendering pipeline (Pixi.JS) which makes it possible to unleash the full potential of your device.
Scalability: Thanks to the ECS(Entity-Component-System) structure, you can expand your needs by highly customizable APIs. The only limitation is your imagination!
Documentation
You can find the Eva.js Documentation on eva.js.org, we appreciate your devotion by sending pull requests to this repository.
Checking out the Live example.
Usage
With NPM
npm i @eva/eva.js @eva/plugin-renderer @eva/plugin-renderer-img --save
In Browser
<script src="https://unpkg.com/@eva/eva.js@1.0.4/dist/EVA.min.js"></script>
Example
<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);
Questions
For questions and support please use Gitter or DingTalk (钉钉) to scan this QR Code.
Issues
Please make sure to read the Issue Reporting Checklist before opening an issue. Issues not conforming to the guidelines may be closed immediately.
Changelog
release notes in documentation.
Contribute
License
The Eva.js is released under the MIT license. See LICENSE file.