unity微信小游戏——排行榜

这篇具有很好参考价值的文章主要介绍了unity微信小游戏——排行榜。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.微信公众平台配置排行榜

unity微信小游戏——排行榜,备忘录,unity,游戏引擎

unity微信小游戏——排行榜,备忘录,unity,游戏引擎

unity微信小游戏——排行榜,备忘录,unity,游戏引擎

设置时记住排行榜唯一标识

2.微信公众平台配置获取微信好友信息权限 同登录篇第一步Unity微信小游戏——登录 获取用户头像名称-CSDN博客

3.Unity搭建排行榜UI

此处建议使用官方案例的UI进行修改

minigame-unity-webgl-transform: Unity WebGL 微信小游戏适配方案 (gitee.com)

Demo\Ranking这个项目就是

1.新建Canvas

unity微信小游戏——排行榜,备忘录,unity,游戏引擎

此处要选择Overlay 否则排行榜会无法拖动

unity微信小游戏——排行榜,备忘录,unity,游戏引擎

此处RankingBox默认状态为SetActive(false)

bg:排行榜背景 也可以把背景让在RankingBox上

image:一般放排行榜标题 可有可无

sharedCanvas:RawImage 旋转X需要设置为180 否则排行榜会颠倒,排行榜数据就显示范围在这里设置

RankMask:当成退出按钮就好 可按照自己需求设置位置大小 

4.脚本

RankBody为sharedCanvas

RankingBox为RankingBox

using Game.Tools;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using WeChatWASM;



[System.Serializable]
public class OpenDataMessage
{
    // type 用于表明时间类型
    public string type;

    public int score;
}

public class WXRank : MonoBehaviour
{
    /// <summary>
    /// 显示排行榜数据内容
    /// </summary>
    public RawImage RankBody;

    /// <summary>
    /// 排行榜
    /// </summary>
    public GameObject RankingBox;


    private void Start()
    {

    }

    /// <summary>
    /// 渲染排行榜
    /// </summary>
    private void ShowOpenData()
    {
        Debug.Log("显示排行榜");
        RankingBox.SetActive(true);

        // 注意这里传x,y,width,height是为了点击区域能正确点击,x,y 是距离屏幕左上角的距离,宽度传 (int)RankBody.rectTransform.rect.width是在canvas的UI Scale Mode为 Constant Pixel Size的情况下设置的。
        /**
         * 如果父元素占满整个窗口的话,pivot 设置为(0,0),rotation设置为180,则左上角就是离屏幕的距离
         * 注意这里传x,y,width,height是为了点击区域能正确点击,因为开放数据域并不是使用 Unity 进行渲染而是可以选择任意第三方渲染引擎
         * 所以开放数据域名要正确处理好事件处理,就需要明确告诉开放数据域,排行榜所在的纹理绘制在屏幕中的物理坐标系
         * 比如 iPhone Xs Max 的物理尺寸是 414 * 896,如果排行榜被绘制在屏幕中央且物理尺寸为 200 * 200,那么这里的 x,y,width,height应当是 107,348,200,200
         * x,y 是距离屏幕左上角的距离,宽度传 (int)RankBody.rectTransform.rect.width是在canvas的UI Scale Mode为 Constant Pixel Size的情况下设置的
         * 如果是Scale With Screen Size,且设置为以宽度作为缩放,则要这要做一下换算,比如canavs宽度为960,rawImage设置为200 则需要根据 referenceResolution 做一些换算
         * 不过不管是什么屏幕适配模式,这里的目的就是为了算出 RawImage 在屏幕中绝对的位置和尺寸
         */

        CanvasScaler scaler = gameObject.GetComponent<CanvasScaler>();
        var referenceResolution = scaler.referenceResolution;
        var p = RankBody.transform.position;

        WX.ShowOpenData(RankBody.texture, (int)p.x, Screen.height - (int)p.y, (int)((Screen.width / referenceResolution.x) * RankBody.rectTransform.rect.width), (int)((Screen.width / referenceResolution.x) * RankBody.rectTransform.rect.height));
    }

    /// <summary>
    /// 显示排行榜
    /// </summary>
    public void Show()
    {
        SetUserScore();

        ShowOpenData();

        //显示排行榜
        OpenDataMessage msgData = new OpenDataMessage();
        msgData.type = "showFriendsRank";
        string msg = JsonUtility.ToJson(msgData);
        WX.GetOpenDataContext().PostMessage(msg);
    }

    /// <summary>
    /// 设置开放域数据 (要排行的数据)
    /// </summary>
    /// <param name="msgData"></param>
    public void SetUserScore()
    {
        OpenDataMessage message = new OpenDataMessage();
        message.type = "setUserRecord";
        message.score = 123;
        string msg = JsonUtility.ToJson(message);
        WX.GetOpenDataContext().PostMessage(msg);

        Debug.Log("每日杀敌数:" + message.score);
    }


    /// <summary>
    /// 隐藏排行榜
    /// </summary>
    public void Hide()
    {
        RankingBox.SetActive(false);
        WX.HideOpenData();
    }

}

5.其他配置

1.WX-WASM-SDK-V2\Runtime\wechat-default\open-data\index.js

unity微信小游戏——排行榜,备忘录,unity,游戏引擎

RANK_KEY修改为在微信公众配置的唯一标识

setUserRecord会随机为自己生成一条数据 如不需要删掉就可以了

2.WX-WASM-SDK-V2\Runtime\wechat-default\open-data\render\styles\friendRank.js

此处为设置排行榜内每条数据位置 大小 等信息

可以直接在微信开发者工具里修改该脚本来看查看效果

3.WX-WASM-SDK-V2\Runtime\wechat-default\open-data\render\tpls\friendRank.js

此处为设置排行榜显示条数 UI图片和文本内容等相关内容 按照自己需求配置即可

unity微信小游戏——排行榜,备忘录,unity,游戏引擎

4.转微信小游戏时需要勾选使用好友关系链

unity微信小游戏——排行榜,备忘录,unity,游戏引擎

5.后续微信开发者工具打开时可能会报错 提醒应该是需要配置一个相关插件 按照官方指导安装就可以了文章来源地址https://www.toymoban.com/news/detail-781227.html

到了这里,关于unity微信小游戏——排行榜的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 爬虫:中国大学排行榜

            访问网址https://www.shanghairanking.cn/rankings,爬取排行榜数据,分析按区域的大学数量排行,得出有效结论。 爬取主榜数据并保存在文件中。 分析每个地区上榜大学的数量,保存在文件中。 分析前十名的地区的大学数量,绘制柱状图。 (4)说明爬虫爬取过程中可能

    2024年01月17日
    浏览(33)
  • 采购管理系统排行榜

    在这个数字化改变业务的年代,有哪些采购管理系统居于排行榜单的前列呢?作为一个自诩对该行业了如执掌的软件行业人员,给各位分享分享采购管理系统排行榜。 1、甄云数字化采购管理平台 国内做的一流的采购管理软件,算是行业内的老大哥,功能全面,也比较实用。

    2024年02月04日
    浏览(28)
  • 昨天,“支付宝崩了”上热搜; 4 月编程语言排行榜:PHP 跌至历史最低点;老乡鸡 “开源” 了;微信 WCDB 迎来重大升级

    昨日,有许多网友反映支付宝无法使用,用不了蚂蚁能量收集等功能,#支付宝崩了# 话题冲上微博热搜。 支付宝客服人员回应称,确实有系统异常报错,工作人员正在紧急处理,很快恢复。用户的资金和信息安全不受影响。 昨天下午晚些时候,支付宝已经基本恢复正常。

    2024年04月15日
    浏览(33)
  • 全球热门 AI 排行榜出炉!

    以下文章来源于无敌信息差 ,作者无敌 刚刚过去的 2023 年,可以说是 AI 元年。 随着技术的飞速发展,AI 行业在这一年再次迎来了爆炸式的增长。 近日,Writerbuddy 研究了  3000 多个 AI  的数据,出具了一份行业报告:该报告细致地盘点了 全球 50 大热门 AI 工具。 让无敌来带

    2024年02月22日
    浏览(39)
  • 开放 LLM 排行榜: 深入研究 DROP

    最近,开放 LLM 排行榜 迎来了 3 个新成员: Winogrande、GSM8k 以及 DROP,它们都使用了 EleutherAI Harness 的原始实现。一眼望去,我们就会发现 DROP 的分数有点古怪: 绝大多数模型的 F1 分数都低于 10 分 (满分 100 分)!我们对此进行了深入调查以一探究竟,请随我们一起踏上发现之旅吧

    2024年01月16日
    浏览(31)
  • 【面试题】微博、百度等大厂的排行榜如何实现?

    现如今每个互联网平台都会提供一个排行版的功能,供人们预览最新最有热度的一些消息,比如百度: 再比如微博: 我们要知道,这些互联网平台每天产生的数据是非常大,如果我们使用MySQL的话,db实现小时、天、周、月的排行榜,难度及其大,而且表结构的设计也非常难

    2024年04月10日
    浏览(37)
  • 排序7-2 奥运排行榜 PTA 数据结构

    7-2 奥运排行榜 分数 25 全屏浏览题目 切换布局 作者 陈越 单位 浙江大学 每年奥运会各大媒体都会公布一个排行榜,但是细心的读者发现,不同国家的排行榜略有不同。比如中国金牌总数列第一的时候,中国媒体就公布“金牌榜”;而美国的奖牌总数第一,于是美国媒体就

    2024年02月02日
    浏览(34)
  • Redis 实现用户积分和积分排行榜微服务优化

    在之前的博客中我通过 MySQL数据库实现了积分和积分排行榜功能,在数据量大和并发量高的情况下会有以下缺点: SQL编写复杂; 数据量大,执行统计SQL慢; 高并发下会拖累其他业务表的操作,导致系统变慢; 使用 Sorted Sets 保存用户的积分总数,因为 Sorted Sets 有 score 属性,

    2024年02月03日
    浏览(32)
  • SRM的主要功能是什么?国内SRM主流排行榜

    SRM的主要功能是什么?国内SRM主流排行榜 现在国内很多中大型企业都在用SRM来优化企业采购业务,作为SRM行业从业者,我今天和大家聊聊主流SRM的功能,以及国内做SRM比较好的服务商,给大家参考。 SRM的主流功能,主要包括以下6点: 1、优化供应商的管理 供应商管理是企业

    2024年02月04日
    浏览(27)
  • 微服务SpringBoot 整合Redis 实现点赞、点赞排行榜

    本博文参考 黑马 程序员B站 Redis课程系列 在点评项目中,有这样的需求,如何实现笔记的 点赞、以及点赞的排行榜 功能? 使用Redis 的 Set集合、ZSet集合实现点赞功能 Redis 如此强大! 如何发布探店笔记呢,该部分需求为如下: 要求可上传图片,可输入标题、内容即可 发布按

    2024年01月21日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包