Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eva-engine/eva.js
Eva.js is a front-end game engine specifically for creating interactive game projects.
https://github.com/eva-engine/eva.js
canvas2d evajs famework front-end game-engine pixijs webgl
Last synced: about 1 month ago
JSON representation
Eva.js is a front-end game engine specifically for creating interactive game projects.
- Host: GitHub
- URL: https://github.com/eva-engine/eva.js
- Owner: eva-engine
- License: mit
- Created: 2021-03-08T09:13:42.000Z (over 3 years ago)
- Default Branch: dev
- Last Pushed: 2023-01-03T09:44:41.000Z (almost 2 years ago)
- Last Synced: 2024-09-27T03:23:05.146Z (about 2 months ago)
- Topics: canvas2d, evajs, famework, front-end, game-engine, pixijs, webgl
- Language: JavaScript
- Homepage: https://eva.js.org
- Size: 9.71 MB
- Stars: 1,750
- Watchers: 32
- Forks: 107
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-canvas - eva.js - Eva.js is a front-end game engine specifically for creating interactive game projects. ![](https://img.shields.io/github/stars/eva-engine/eva.js?style=social) ![](https://img.shields.io/github/forks/eva-engine/eva.js?style=social) (Libraries / Game engine)
README
# Eva.js (Interactive Game Engine)
![npm-version](https://img.shields.io/npm/v/@eva/eva.js)
![npm-size](https://img.shields.io/bundlephobia/minzip/@eva/eva.js)
![npm-download](https://img.shields.io/npm/dm/@eva/eva.js)English | [Chinese](./README_CN.md)
## 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](http://pixijs.io/)) 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](https://eva.js.org), we appreciate your devotion by sending pull requests to [this repository](https://github.com/eva-engine/eva-engine.github.io).
Checking out the [Live example](https://eva.js.org/playground).
- [Quick Start](https://eva.js.org/#/tutorials/quickstart)
- [Start Demo](https://github.com/eva-engine/start-demo)
- [Awesome](https://github.com/eva-engine/awesome)## Usage
### With NPM
```bash
npm i @eva/eva.js @eva/plugin-renderer @eva/plugin-renderer-img --save
```### In Browser
```html```
### Example
```html
```
```javascript
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](https://gitter.im/eva-engine/Eva.js) or [WeChat](https://weixin.qq.com/) (微信) to scan [this QR Code](https://gw.alicdn.com/imgextra/i4/O1CN015W09ux1QD1RAxBkYN_!!6000000001941-2-tps-610-1279.png).## Issues
Please make sure to read the [Issue Reporting Checklist](.github/ISSUE_TEMPLATE.md) before opening an issue. Issues not conforming to the guidelines may be closed immediately.## Changelog
[release notes](https://github.com/eva-engine/eva.js/releases) in documentation.## Contribute
[How to Contribute](.github/HOW_TO_CONTRIBUTE.md)## License
The Eva.js is released under the MIT license. See [LICENSE file](./LICENSE).