An open API service indexing awesome lists of open source software.

https://github.com/open-node/open-game


https://github.com/open-node/open-game

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

# open-game

npm i open-game --save

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

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

### 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/'][39], // 资源地址
map: '[https://urladress/][40]' // 图片资源对应的定位信息文件, 仅 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/'][39], // 资源地址
map: '[https://urladress/][40]' // 图片资源对应的定位信息文件, 仅 type = image 有效
}

Returns **void**

### drawImageAlignCenterByName

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

#### Parameters

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

Returns **void**

### drawImageByName

绘制图片获取图片切片

#### Parameters

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

Returns **void**

### registCallback

注册帧回调函数

#### Parameters

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

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/Object

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

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

[39]: https://urladress/'

[40]: https://urladress/

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

[42]: #scene