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

Posted 朱昆的博客 iamkun.com

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了💒 es6 + canvas 开源 盖楼小游戏 完整代码注释 从零教你做游戏相关的知识,希望对你有一定的参考价值。

盖楼游戏

技术分享图片

一个基于 Canvas 的盖楼游戏

Demo 预览

技术分享图片

在线预览地址 (Demo Link)

手机设备可以扫描下方二维码

技术分享图片

github

https://github.com/bmqb/tower_game 喜欢的朋友 给个star 支持一下哦

Game Rule 游戏规则

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

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

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

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

技术分享图片

Customise 自定义

git clone https://github.com/bmqb/tower_game.git
cd tower_game
npm install
npm start

打开 http://localhost:8082

  • 图片、音频资源可以直接替换 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

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

function(currentFloor, currentScore) {
  return number
}

hookAngle

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

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.







以上是关于💒 es6 + canvas 开源 盖楼小游戏 完整代码注释 从零教你做游戏的主要内容,如果未能解决你的问题,请参考以下文章

Vue+WebSocket+ES6+Canvas 制作「你画我猜」小游戏

本仓库是自己总结的前端开发一些基础知识,包括html5、css3、canvas、jQuery、less、ES6、webpack、Vue等,也包含了一些算法和数据结构方面的练习,同时也记录了自己工作中的

ES6深度解析-Classes

12-es6类的方式封装折线图

开源项目精选: 基于H5 Canvas的交互框架——Konva

canvas动画合集Vue组件