微信小程序之坦克大战学习
1.问题一:在menu.js中需要使用到const.js文件中的变量,怎么办?如下图:
解决:在const.js文件中写上module.exports={},大括号里面写对应的变量对,如下图:
然后在menu.js文件中,使用require引入,如下图:
这样,一个文件就可以使用另一个文件定义的变量了,class的访问是通过import来访问的。
2.开始页面显示出来了,接下来是选择player的数目。在Main中初始化事件监听,看下面的代码:
然后看一下initEvent()的内容,这里监听了touchstart事件,实现的效果是点击屏幕任意一点,改变palyer的位置(1还是2):
3.后续的工作内容大致上跟上面的一样,这里贴一下最终的开发进度图:
整体的流程是先绘制出来地图块,玩家坦克,敌方坦克,然后敌方坦克随机的移动和射击,敌方坦克的边界检测部分卡住的事件最长,然后一点一点的打印,搞清楚了里面的机制和流程,接下来是方向键控制玩家坦克的移动和射击,图中的A键是玩家1的射击键。最后再加一个游戏结束的功能基本上就把主流程开发完成了。
4.由于没有一步一步的开发和记录文档,这里就记录一下开发中的难点和问题
4.1 微信小程序中的eval不支持,所以暂时先用的是注释掉的代码行,如下面的程序:
setMapLevel(level) {this.level = level;var tempMap = eval("map" + this.level); //这里就是拼接,然后获取到真正的array,但微信不支持eval函数//var tempMap = LEVEL.map1;console.log("tempMap length is "+LEVEL.map1); //for testthis.mapLevel = new Array();for (var i=0;i<tempMap.length; i++) {this.mapLevel[i] = new Array();for (var j=0; j<tempMap[i].length; j++) {this.mapLevel[i][j] = tempMap[i][j];}}}
4.2 在tank.js中,玩家坦克、主界面中的选择坦克、敌方坦克都会有一句代码是(这里拿PlayTank举例 ):
PlayTank.prototype = new Tank()
初步的理解是跟继承差不多,用了Tank类中的属性和方法,如果PlayTank定义了同名方法和属性,则执行PlayTank中的方法和属性。
4.3 export和import中也有一些问题,在使用isGameOver变量的时候,现在main.js 中export了isGameOver,然后在Collision.js中使用了isGameOver,这时候编译器报了isGameOver是read-only属性,最后解决办法是在main.js中定义了方法并export,然后方法中设置isGameOver的值,最后在Collision.js中import此方法并调用。
微信小程序之坦克大战学习相关推荐
- 微信小程序_基础组件学习02
微信小程序_基础组件学习02 swiper组件 swiper是滑块容器,也就是手机端的轮播图. swiper组件有两部分组成swiper和swiper-item. swiper-item需要放在swi ...
- 微信小游戏制作坦克大战(四)添加敌方坦克,敌方坦克可以随机移动
微信小游戏制作坦克大战(四)添加敌方坦克,敌方坦克可以随机移动 首先导入敌方坦克素材 重命名为敌方坦克1 敌方坦克也移动到屏幕外面,后面使用克隆体来显示. 我们给敌方坦克添加事件 好的,现在敌方坦克已 ...
- 微信小游戏制作坦克大战(六)碰撞检测,主角坦克碰到敌方坦克、炮弹爆炸
微信小游戏制作坦克大战(六)碰撞检测,主角坦克碰到敌方坦克.炮弹爆炸 导入坦克爆炸效果的图片和声音素材 给主角坦克添加事件 给爆炸动画添加事件 当主角坦克碰到敌方坦克或者炮弹时显示爆炸效果 下一篇文章 ...
- 微信小游戏制作坦克大战(五)敌方坦克可以发射炮弹
微信小游戏制作坦克大战(五)敌方坦克可以发射炮弹 在资源管理器中复制炮弹,重命名为敌人坦克的炮弹. 修改敌方坦克的积木 给敌方坦克炮弹添加事件 现在,敌方坦克已经可以自动发射炮弹啦. 下一篇文章:微信 ...
- 微信小游戏制作坦克大战(九)切换场景,游戏重新开始
微信小游戏制作坦克大战(九)切换场景,游戏重新开始 新建一个游戏结束场景 主角坦克爆炸后切换到游戏结束场景 添加背景音乐 好了,至此坦克大战小游戏基本做好,小伙伴们可以继续完善哈. 体验地址:
- 微信小游戏制作坦克大战(八)统计得分
微信小游戏制作坦克大战(八)统计得分 导入数字图片素材 新建得分变量 给数字添加事件 敌方坦克发生爆炸时,数字增加1 实现效果 下一篇文章:微信小游戏制作坦克大战(九)切换场景,游戏重新开始
- 微信小游戏制作坦克大战(七)碰撞检测,敌方坦克碰到主角坦克炮弹爆炸
微信小游戏制作坦克大战(七)碰撞检测,敌方坦克碰到主角坦克炮弹爆炸 导入发生炮弹的音效素材 主角坦克发射炮弹或者敌方坦克发射炮弹时播放音效 修改敌方坦克积木 4.效果: 敌方坦克碰到主角坦克炮弹爆炸 ...
- 页面生命周期_微信小程序的生命周期学习笔记-应用篇
在我们学习微信小程序的过程当中,我们会参考很多资料.在这些资料中,我们经常能够看到"生命周期"四个字,在前面的课程中也提到过.在这里做一个说明. 生命周期是一类函数的统称,这些函数 ...
- 微信小程序商城源码学习
微信小程序从申请appid到创建hello,收集了好久的源码资源.让你两天学会小程序开发. 经过一番学习,总算学会了小程序的开发,学会搭建后台服务器,接下来打算租个阿里云服务器,研究一下微信小游戏的开 ...
最新文章
- java中exception in_java.lang.ExceptionInInitializerError
- vue 修改div宽度_vue 拖动调整左右两侧div的宽度
- 第九章 泛型结构和接口
- Gossip协议详解
- c语言链表编程作业,C语言编程入门——链表
- 属性加密测试用例相关问题的分析
- java求最小步数_关于java:查找两点之间的最小步数?
- Win7系统经常报错怎样解决?
- 网站提速-缓存技术(4)
- bzoj 1801: [Ahoi2009]chess 中国象棋 bzoj 4806: 炮
- [转载]针对IIS7以上的ASP.NET网站自定义错误页面与异常日志总结
- 智汇华云 | 集群自动化部署服务流程之自动化集群配置(上)
- 花生壳 Linux arm
- 混合高斯模型背景建模原理
- Python解线性方程组的直接法(5)————平方根法求解线性方程组
- 不花冤枉钱就能回家 --- 程序员教你如何高效抢票
- js 入门基础(一)
- 2356 - 成绩排序
- java 累加器_Spark累加器(Accumulator)
- 33.Region的概念及配置多region
热门文章
- java动态代理--代理接口无实现类
- Python网络爬虫从入门到实践 -- chapter 1 -- 网络爬虫入门
- 通俗易懂。Cocos2dx和Unity3D概念,二者区别?哪个更好一点?
- 【最详细的分析】1061 Dating (20 分)
- 【题意分析】1024 Palindromic Number (25 分)_38行代码AC
- QT Creator应用程序开发——信号与槽
- shell脚本详解(九)——一键部署DNS正向解析
- 给刚开始学习Linux的小白们的福利——资源已经分享,可随时下载
- 关于 $ Super $ $ 和 $ Sub $ $ 的用法
- 树莓派更换软件源提高下载速度