💒 es6 + canvas 开源 盖楼小游戏 完整代码注释 从零教你作游戏(一)

盖楼游戏

一个基于 Canvas 的盖楼游戏html

Demo 预览

在线预览地址 (Demo Link)

手机设备能够扫描下方二维码

地址 💖

喜欢这个游戏能够给个💖star💖鼓励一下吗 github.com/iamkun/towe…git

Game Rule 游戏规则

如下为默认游戏规则,也可参照下节自定义游戏参数github

  • 每局游戏生命值为3,掉落一块楼层生命值减1,掉落3块后游戏结束,单局游戏无时间限制npm

  • 成功盖楼加25分,完美盖楼加50分,连续完美盖楼额外加25分,楼层掉落扣除生命值1,单局游戏共有3次掉落机会canvas

栗子:第一块完美盖楼加50分,第二块连续完美盖楼加75分,第三块连续完美盖楼加100分,依此类推……bash

Customise 自定义

git clone https://github.com/iamkun/tower_game.git
cd tower_game
npm install
npm start
复制代码

打开 http://localhost:8082markdown

  • 图片、音频资源能够直接替换 assets 目录下对应的资源文件
  • 游戏规则能够修改 index.html 文件 L480option 对象

Option 自定义选项

可使用如下 option 表格里的参数,完成游戏自定义,全部参数都是非必填项函数

Option Type Description
width number 游戏主画面宽度
height number 游戏主画面高度
canvasId string Canvas 的 DOM ID
soundOn boolean 是否开启声音
successScore number 成功盖楼分数
perfectScore number 完美盖楼额外奖励分数
hookSpeed function 钩子平移速度
hookAngle function 钩子摆动角度
landBlockSpeed function 下方楼房横向速度
setGameScore function 当前游戏分数hook
setGameSuccess function 当前游戏成功次数hook
setGameFailed function 当前游戏失败次数hook

hookSpeed

钩子平移速度 函数接收两个参数,当前成功楼层和当前分数,返回速度数值oop

function(currentFloor, currentScore) {
  return number
}
复制代码

hookAngle

钩子摆动角度 函数接收两个参数,当前成功楼层和当前分数,返回角度数值spa

function(currentFloor, currentScore) {
  return number
}
复制代码

landBlockSpeed

下方楼房平移速度 函数接收两个参数,当前成功楼层和当前分数,返回速度数值

function(currentFloor, currentScore) {
  return number
}
复制代码

setGameScore

当前游戏分数hook 函数接收一个参数,当前游戏分数

function(score) {
  // your logic
}
复制代码

setGameSuccess

当前游戏成功次数hook 函数接收一个参数,当前游戏成功次数

function(successCount) {
  // your logic
}
复制代码

setGameFailed

当前游戏失败次数hook 函数接收一个参数,当前游戏失败次数

function(failedCount) {
  // your logic
}
复制代码

License

MIT license.

相关文章
相关标签/搜索