小游戏开发微信平台

  • Post author:
  • Post category:其他


在开发微信小游戏《

六彩跳棋

》后,发现

微信平台

提供的能力真的很方便和强大。之前已经介绍了跳棋游戏的

开发逻辑

,以及使用

CocosCreator

游戏开发引擎和框架的开发经历,这次就轮到微信开发平台的

开发经历

了。

使用微信扫码,进入微信小游戏《

六彩跳棋

微信小游戏



系统信息

微信框架下,提供了获取用户设备和系统信息的接口。

设备型号

不同,小游戏的运行效果可能不同,可以通过这个信息调整小游戏的兼容效果。

屏幕尺寸

不同,小游戏的显示效果也不同,一般都会采用自适应,适应屏幕宽度,高度按照比例调节,还要注意屏幕的

安全区域

,特别是屏幕上方的

状态栏

高度,如果要显示状态栏,就要留出足够的高度。



事件绑定

微信框架下的交互功能,一般是要使用微信自带的事件绑定进行处理的。虽然会增加代码量,但是兼容效果肯定比较好,一般不会出现问题。只要处理好

显示的兼容效果

就好了,微信自带的组件是按照设备尺寸进行显示的,可能和小游戏的引擎框架不同,一般会按照屏幕像素尺寸显示,看上去会小得多。



授权信息

通过用户授权可以获取用户的信息,常用的是用户的

头像和昵称

,用于小游戏显示和在线匹配时区分用户。用户的头像是一个地址信息,通过地址获取头像照片,地址要加入

白名单

才能访问到,可能要设置

照片格式

才能使用,在引擎框架使用前还要实例化为

图像精灵

才能绘制到屏幕上。昵称的处理上,至少要判断格式是否为字符串,才能正确显示。



数据处理

微信开放平台上提供了

本地存储

,可以保存用户相关的信息,存储容量有限制。分为

同步接口



异步接口

两种,可以写入和读取,还有删除等。

微信开放平台提供的

后台服务

有云函数,云托管和服务器等。

云函数

是最方便的,只要把接口的代码上传到微信服务端就可以调用了,但是代码不能

常驻运行

,什么时候调用什么时候运行。收费方面,在用户量比较少的时候可以使用

免费版本

的,后期根据情况选择合适的收费套餐。

云函数的执行上,除了调用时传入的参数,还有微信提供的

用户ID

,这是根据用户在具体小游戏上生成的,用于识别不同用户。在云函数中可以使用数据库,并且不受数据库的权限控制。数据库采用

JSON格式

存储,可以设置访问权限。

在小游戏前端可以

监听数据库

,访问数据库时要有相应的权限,当数据库的对应数据发生变化时,前端可以获取到数据,可能会多次触发,也可能受到网络影响延迟触发。



创建活动

微信提供了很多服务,方便小游戏玩家之间的互动。通过

微信服务

提供的接口,可以创建活动,更新活动参数,玩家转发给好友时可以设置相关参数,好友打开后进入小游戏可以调用接口获取到参数,然后执行具体任务。活动的参数有总人数和当前人数,活动进行中或者结束。可以在邀请好友一起游戏时使用。



交互功能

小游戏交互效果上,除了

音乐和音效

之外,微信提供的

震动接口

也很重要。特别是用户静音时,使用震动可以提高交互效果,但是在电脑端是无法使用震动功能的。震动分为长的和短的,适合游戏开始时和用户点击时。

微信提供的

弹窗组件

也很方便,弹窗支持

输入框

,这样就更方便了,兼容效果还很好。



微信场景

微信场景支持也值得考虑,

游戏圈

的场景支持用户发布相关话题,内容可以是文字和表情符号,还有图片上传。

排行榜数据

可以发送玩家的游戏数据,在微信场景里可以提供给用户查看。

微信还提供了

订阅通知

的功能,需要设置通知的格式,然后玩家点击订阅,就可以接收到小游戏发送的通知了。按照通知的格式,发送具体参数给微信服务端,用户就可以接收通知,打开通知后,可以进入小游戏和获取相关参数执行操作。订阅功能在用户点击后可以隐藏,但是下次打开还要显示,否则可能过了时效性,用户无法收到通知。通知内容可以是排行榜的排名和奖励,可以提高玩家的兴趣。



最后

总之,在开发《

六彩跳棋

》这款微信小游戏时,本来以为挺简单的,开发时间应该很短,但是在实际的开发中却不是这样的。虽然游戏的

主要逻辑和功能

可以很快的做完,但是还要考虑到

CocosCreator

游戏引擎框架的功能和接口进行细节处理,还要根据

微信开发平台

提供的功能完善整个游戏的流程。最后,需要不断

测试和调整

游戏的流程和逻辑。最后的最后,就是总结开发过程,写点文章到技术博客

CSDN

上面来,以及

微信公众号

那里去。

使用微信扫码,进入微信小游戏《

六彩跳棋

微信小游戏



版权声明:本文为liwenhui1988原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。