最近看朋友圈老有人晒小游戏数据,心痒痒也想试试。说干就干!先在电脑上折腾了个微信开发者工具,注册账号时还被营业执照卡了半天——后来发现个人账号也能搞测试版。
撞墙第一步:创建项目就懵逼
新建项目时跳出来一堆选项框,啥小游戏、小程序的差点把我整晕乎。专门勾了"小游戏"那个框,结果空荡荡的界面弹出来,鼠标都不知道往哪点。
翻教程才晓得要搞个配置文件,硬着头皮敲代码:
{"deviceOrientation": "portrait",
"networkTimeout": 5000
保存那秒手都在抖,生怕爆红字,幸好界面终于显示画布了!
偷懒妙招:直接抄官方例子
在开发者工具里挖到官方示例库,挑了个飞机大战的模板。解压完直接点运行,好家伙!满屏子弹乱飞,背景音乐嗷嗷响,激动得我差点把水杯碰倒。
- 改飞机贴图:把自带的战斗机换成滑稽脸表情包
- 调难度:敌人刷新速度从0.8秒改成1.5秒
- 改按键:把触摸区域放大两倍,免得手指粗戳不准
改完打包测试,手机扫码那刻心提到嗓子眼——居然真能玩!虽然被朋友吐槽像老年版雷电。
卡在奇怪的地方:按钮死活不响应
想给游戏加暂停按钮,在wxml里写了:
<button bindtap="pauseGame">暂停</button>
结果点上去跟死鱼似的没反应。查了三小时文档才发现小游戏要用canvas画按钮,js里得这么写:
const btn = *()* = () => { *(btn, x, y) }
气得我啃完两个蛋黄酥才平复心情...
物理碰撞检测玄学
给子弹和敌机加碰撞检测时,代码明明写着:
if(bullet.x > enemy.x && bullet.y < enemy.y){
结果敌机中弹后纹丝不动。深夜盯着屏幕发愣时突然开窍——原来忘记算图片实际尺寸!后来换成矩形包围盒检测才搞定,就是画四个框判断有没有重叠。
提审前惊魂记
上传审核时自信满满,结果秒收到驳回邮件:"存在虚拟支付风险"。懵逼地翻代码,原来测试用的钻石图标没删干净!火速删掉所有货币相关元素,重新打包时心跳比游戏BGM还快。
三天后收到通过通知,赶紧群发好友测试。现在看着后台20个用户数据,感觉头发没白掉!接下来想试试多人对战功能,有进展再来唠~