# open-game

> npm i open-game --save

Latest version **0.3.2** (published 2019-07-15) · MIT license · 0 weekly downloads

## Install

```sh
npm install open-game
pnpm add open-game
yarn add open-game
bun add open-game
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.3.2 |
| Published | 2019-07-15 |
| First published | 2019-07-15 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 19 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2 |
| Author | Redstone Zhao |
| Maintainers | stonephp |
| Keywords | canvas, game |

## Links

- npm: https://www.npmjs.com/package/open-game
- Repository: https://github.com/open-node/open-game
- Homepage: https://github.com/open-node/open-game#readme
- Issues: https://github.com/open-node/open-game/issues
- npm.io page: https://npm.io/package/open-game

## Alternatives

- [exif-parser](https://npm.io/package/exif-parser.md) — 3.8M weekly downloads
- [vite-plugin-compression](https://npm.io/package/vite-plugin-compression.md) — 569.5K weekly downloads
- [pica](https://npm.io/package/pica.md) — 442.4K weekly downloads
- [@reportportal/client-javascript](https://npm.io/package/@reportportal/client-javascript.md) — 408.8K weekly downloads
- [@tldraw/state](https://npm.io/package/@tldraw/state.md) — 316.0K weekly downloads

## Recent versions

- 0.3.2 (latest) — 2019-07-15
- 0.3.0 — 2019-07-15
- 0.2.0 — 2019-07-15
- 0.1.0 — 2019-07-15

## README

# open-game

<pre>npm i open-game --save</pre>

# Examples
* [Flappy bird](https://github.com/open-node/flappy-bird)



<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

### Table of Contents

-   [Actor][1]
    -   [Parameters][2]
    -   [reset][3]
    -   [update][4]
    -   [render][5]
    -   [aabb][6]
        -   [Parameters][7]
    -   [isItOn][8]
        -   [Parameters][9]
    -   [isOut][10]
-   [Game][11]
    -   [Parameters][12]
    -   [reset][13]
    -   [init][14]
        -   [Parameters][15]
    -   [progress][16]
        -   [Parameters][17]
    -   [loadResources][18]
        -   [Parameters][19]
    -   [drawImageAlignCenterByName][20]
        -   [Parameters][21]
    -   [drawImageByName][22]
        -   [Parameters][23]
    -   [registCallback][24]
        -   [Parameters][25]
-   [Scene][26]
    -   [Parameters][27]
    -   [update][28]
    -   [render][29]
    -   [enter][30]
    -   [click][31]
        -   [Parameters][32]

## Actor

Actor 类

### Parameters

-   `game` **[Game][33]** 游戏实例
-   `size`  

Returns **[Actor][34]** Instance

### reset

重置参数值

Returns **void** 

### update

更新参数值

Returns **void** 

### render

渲染自己

Returns **void** 

### aabb

碰撞判断

#### Parameters

-   `x`  
-   `y`  
-   `w`  
-   `h`  
-   `target` **[Actor][34]** 

Returns **[boolean][35]** 

### isItOn

给定一组 x, y判断是否在角色身上

#### Parameters

-   `cX`  
-   `cY`  

Returns **[boolean][35]** 

### isOut

判断是否已经出去在画布之外

Returns **[boolean][35]** 

## Game

Game 类

### Parameters

-   `canvas`  
-   `Image` **Class** 图片构造函数，浏览器下为 window.Image, node.js 下为 require('canvas').Image
-   `width` **[Number][36]** 期望的画布宽度，浏览器下全拼为 document.documentElement.clientWidth
-   `height` **[Number][36]** 期望的画布高度，浏览器下全拼为 document.documentElement.clientHeight
-   `widthRange` **Array.Number?** 画布宽度取值范围，不设置则宽度严格等于 width
-   `heightRange` **Array.Number?** 画布高度取值范围，不设置则宽度严格等于 heigth
-   `convas` **[Object][37]** DOM对象，或者node.js 下 require('canvas').createCanvas()

### reset

重置游戏参数, 例如积分

Returns **void** 

### init

初始化并开始游戏

#### Parameters

-   `resources` **Array.Object** 游戏所需静态资源对象 key => value 格式， key 为资源名称，value为object，格式如下
    {
      type: 'image', // audio, video, image
      name: 'name', // 资源名称，预加载后会存入 this.R 方便随时获取
      url: '[https://urladress/'][38], // 资源地址
      map: '[https://urladress/][39]' // 图片资源对应的定位信息文件, 仅 type = image 有效
    }

Returns **void** 

### progress

显示资源加载 loading 效果

#### Parameters

-   `percent`  
-   `resources` **Array.URL** 游戏所需静态资源url列表

Returns **void** 

### loadResources

加载游戏所需静态资源

#### Parameters

-   `resources` **Array.Object** 游戏所需静态资源对象 key => value 格式， key 为资源名称，value为object，格式如下
    {
      type: 'image', // audio, video, image
      name: 'name', // 资源名称，预加载后会存入 this.R 方便随时获取
      url: '[https://urladress/'][38], // 资源地址
      map: '[https://urladress/][39]' // 图片资源对应的定位信息文件, 仅 type = image 有效
    }

Returns **void** 

### drawImageAlignCenterByName

水平居中绘制图片获取图片切片

#### Parameters

-   `name` **[string][40]** 图片名称
-   `y` **[number][36]** 在画布上的y坐标

Returns **void** 

### drawImageByName

绘制图片获取图片切片

#### Parameters

-   `name` **[string][40]** 图片名称
-   `x` **[number][36]** 在画布上的x坐标
-   `y` **[number][36]** 在画布上的y坐标

Returns **void** 

### registCallback

注册帧回调函数

#### Parameters

-   `frames` **[number][36]** 多少帧之后
-   `handler` **[function][41]** 执行的事件函数

Returns **void** 

## Scene

Scene 类

### Parameters

-   `game` **[Game][33]** 游戏实例
-   `name`  

Returns **[Scene][42]** Instance

### update

更新各成员

Returns **void** 

### render

渲染各成员

Returns **void** 

### enter

进入场景

Returns **void** 

### click

点击事件

#### Parameters

-   `x`  
-   `y`  

Returns **void** 

[1]: #actor

[2]: #parameters

[3]: #reset

[4]: #update

[5]: #render

[6]: #aabb

[7]: #parameters-1

[8]: #isiton

[9]: #parameters-2

[10]: #isout

[11]: #game

[12]: #parameters-3

[13]: #reset-1

[14]: #init

[15]: #parameters-4

[16]: #progress

[17]: #parameters-5

[18]: #loadresources

[19]: #parameters-6

[20]: #drawimagealigncenterbyname

[21]: #parameters-7

[22]: #drawimagebyname

[23]: #parameters-8

[24]: #registcallback

[25]: #parameters-9

[26]: #scene

[27]: #parameters-10

[28]: #update-1

[29]: #render-1

[30]: #enter

[31]: #click

[32]: #parameters-11

[33]: #game

[34]: #actor

[35]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean

[36]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number

[37]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object

[38]: https://urladress/'

[39]: https://urladress/

[40]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String

[41]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function

[42]: #scene

---
_Source: https://npm.io/package/open-game · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
