从闲暇摸鱼到微信小游戏《布布围赢》上线

从闲暇摸鱼到微信小游戏《布布围赢》上线

1. 起源

摸鱼间隙中浏览吾爱破解,偶然进入404页面,发现一款比较吸引我的小游戏《圈住小猫》,自此复刻到微信小游戏的念头油然而生。

2.微信小游戏个人开发者备案流程

自行审核结果报告、代备案授权书、著作声明这三个有模版需要的留下邮箱。微信认证要缴费30。游戏内容介绍比较难写(难编),需要页面截图及介绍而且审核耗时比较久大概20个工作日。不需要软著

3.邀请函

可微信搜索《布布围赢》,在此诚邀各位体验。注:布布是一只考拉,游戏内的角色。

4.问题案例

4.1 如何使用Graphics 画一个六边形

  1. 确认中心点坐标
  2. 计算六个顶点坐标
  3. 连线填充
draw(ctx:Graphics ) {
    ctx.clear();
    ctx.lineWidth = 0;
    let center = new Vec2(0, 0);
    let radius = 100;
    let p0 = hexPoint(center, radius, 0);
    ctx.moveTo(p0.x, p0.y);
    let p1 = hexPoint(center, radius, 1);
    ctx.lineTo(p1.x, p1.y);
    let p2 = hexPoint(center, radius, 2);
    ctx.lineTo(p2.x, p2.y);
    let p3 = hexPoint(center, radius, 3);
    ctx.lineTo(p3.x, p3.y);
    let p4 = hexPoint(center, radius, 4);
    ctx.lineTo(p4.x, p4.y);
    let p5 = hexPoint(center, radius, 5);
    ctx.lineTo(p5.x, p5.y);
    ctx.lineTo(p0.x, p0.y);
    ctx.strokeColor.fromHEX("#ffffff");
    ctx.stroke();
    ctx.fillColor.fromHEX("#435343");
    ctx.fill();
}
hexPoint(center, radius, i,) {
    // layout 0 六边形顶点朝上 1边朝上 
    var angle_deg = 60 * i + (this.layout === 0 ? 30 : 0);
    var angle_rad = Math.PI / 180 * angle_deg
    return new Vec2(center.x + radius * Math.cos(angle_rad),
        center.y + radius * Math.sin(angle_rad))
}

效果图

4.2 如何计算最短最优路线

BFS 寻路 代码略

4.3 位图字体显示第xxx关

ps " 第 0 1 2 3 4 5 6 7 8 9 关 "共 12 个字的图片,使用工具将这几种图片合成位图文件(一个.fnt 文件一个.png 文件),创建 Label 修改字体资源为.fnt 文件

4.4 微信好友排行榜

  1. 创建SubContextView组件
  2. 挂载个组件,onload方法执行window['wx'].setUserCloudStorage上传自己的数据,然后调用window[‘wx’].getOpenDataContext().postMessage()发送消息获取排行榜。参考插件
    效果图

4.5 粒子特效

main场景中配合漩涡旋转的粒子效果参数如下
配置图
效果图

4.6 实现由远到近的缩放效果

main场景中的五个图块,采用斐波那契数列来依次计算缩放值

customFibonacci(n) {
    // 自定义起始值
    if (n === 1) return 0.2;
    if (n === 2) return 0.3;

    // 初始化前两项
    let prevPrev = 0.2; // 相当于传统斐波那契中的第0项
    let prev = 0.3;     // 相当于传统斐波那契中的第1项
    let current;

    // 从第三项开始计算
    for (let i = 3; i <= n; i++) {
        current = prevPrev + prev;
        prevPrev = prev;
        prev = current;
    }

    return current;
}

效果图

4.x 后续想到再补充吧

5.结语

这不仅是我个人的一次技术探险,更是一份对游戏热爱的传递,愿每一位玩家都能在游戏中找到属于自己的那份纯粹乐趣。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值