那么这个游戏到底是简单到什么程度,差不多就是到下面这个程度吧
源码地址:
由于是第一次尝试写游戏, 也不知道套路对不对, 大家看着玩就好, 不要太认真, 不推荐在手机上预览, 坑还没有填好
下面是实现过程
游戏分析
首先分析一下一个这样的游戏需要什么元素
游戏过程
关于游戏的碰撞, 我们要考虑这几种情况
1.掉落在两个方块中央
2. 掉落在起跳方块左边上沿
3. 掉落在左边下一个方块下沿
4. 掉落在左边下一个方块上沿
5. 掉落在起跳方块右边上沿
6. 掉落在右边下一个方块下沿
7. 掉落在右边下一个方块上沿
代码
感兴趣的麻烦移步
主体结构
var game = function () { ... } game.prototype = { init: // 初始化 restart: // 重新开始 addsuccessfn: // 成功进入下一步,执行外部函数, 用于更新分数 addfailedfn: // 游戏失败, 执行外部函数, 用于显示失败弹窗 _createjumper: // 创建 会跳的那个 _createcube: // 创建方块 _setlight: // three.js设置光照 _setcamera: // three.js设置相机 _setrenderer: // three.js设置渲染器 _render: // three.js 执行渲染 _createhelpers: // three.js场景辅助工具 _checkuseragent: // 检测是否是移动端 _handlewindowresize: // 窗口缩放绑定函数 _handlemousedown: // 鼠标按下绑定函数 _handlemouseup: // 鼠标松开绑定函数 _fallingrotate: // 会跳的那个 摔落动画 _falling: // 会跳的那个 摔落 _checkincube: // 判断落点位置 _updatecamerapos: // 更新相机坐标参数 _updatecamera: // 更新相机 _setsize: // 设置画布尺寸 }
调用
var game = new game(success,failed) game.init() game.addsuccessfn(success) game.addfailedfn(failed) ... // 游戏重新开始,执行函数 function restart () { ... } // 游戏失败执行函数 function failed(){ ... } // 游戏成功,更新分数 function success (score) { ... }
总结
以上所述是小编给大家介绍的three.js 再探 - 写一个微信跳一跳极简版游戏,希望对大家有所帮助
如对本文有疑问, 点击进行留言回复!!
轻松解决 org.apache.taglibs.standard.tlv.JstlCoreTLV 困惑
vert实践五——Json?Protocol Buffer?FlatBuffers?
[基于tensorflow的人脸检测] 基于神经网络的人脸检测8——验证训练好的神经网络
selenium + ajax抓取英雄联盟全部英雄的详细信息及多线程保存全部皮肤图片到本地
网友评论