Unity打包WebGL平台如何区别移动端和电脑端

Unity打包WebGL平台如何区别移动端和电脑端完整解决方案

前情提要

最近有一个项目,其中有一个功能来控制角色移动,电脑端是使用WASD(键盘)控制,手机移动端呢 使用虚拟摇杆来控制。

由于是WebGL平台,从C#层加下面这种是没用的

> void Awake() {
    #if UNITY_ANDROID
        Debug.Log("这里安卓设备");
    #endif
    #if UNITY_IPHONE
        Debug.Log("这里苹果设备");
    #endif
    #if UNITY_STANDALONE_WIN
        Debug.Log("电脑上运行o");
    #endif
}

1.新建mylib.jslib文件

在项目资源文件夹中
1.新建Plugins文件夹
2.新建mylib.jslib文件 后缀名.jslib一定不要错
3.将下面代码 复制到上面新建的mylib.jslib文件中

mergeInto(LibraryManager.library, {
  HelloFloat: function()
   {
      var userAgentInfo = navigator.userAgent;
      var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
      var flag = true;
      for (var v = 0; v < Agents.length; v++)
      {
       if (userAgentInfo.indexOf(Agents[v]) > 0)
       {
        return 1;
         break;
       }
      }
      return 2;
  },
});

2.新建C#层代码

using UnityEngine;
using System.Runtime.InteropServices;
using System;

public class Example : MonoBehaviour
{
    [DllImport("__Internal")]
    private static extern float HelloFloat( );

    void Start( )
    {
        float f = HelloFloat();

        if (f == 1)
        {
            Debug.Log("移动端");
        }
        else if (f == 2)
        {
            Debug.Log("电脑端");
        }
    }
}

您可以在函数参数中将简单的数字类型传递给 JavaScript,而无需进行任何转换。您可以将其他数据类型作为指针传递到 emscripten 堆中,这只是 JavaScript 中的一个大数组。
对于字符串,您可以使用UTF8ToString辅助函数将其转换为 JavaScript 字符串。

3.脚本挂载

在Unity Hierarchy窗口中 新建一个空的游戏物体

Unity打包WebGL平台如何区别移动端和电脑端
然后把我们刚才新建的C#脚本附加上

; 4.打包测试

Unity打包WebGL平台如何区别移动端和电脑端
如果想看手机端 就点击这里 然后按F5 刷新页面
Unity打包WebGL平台如何区别移动端和电脑端
Unity打包WebGL平台如何区别移动端和电脑端
此时就为移动端了

Original: https://blog.csdn.net/weixin_45375968/article/details/127772222
Author: _橙子先生
Title: Unity打包WebGL平台如何区别移动端和电脑端

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/787077/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • OpenAI ChatGPT注册试用全攻略

    啊哦~你想找的内容离你而去了哦 内容不存在,可能为如下原因导致: ① 内容还在审核中 ② 内容以前存在,但是由于不符合新 的规定而被删除 ③ 内容地址错误 ④ 作者删除了内容。 可…

    Python 2023年8月3日
    033
  • pygame实战 游戏开发

    上期我们讲了pygame里大部分的函数了本期来用pygame写一个游戏,喜欢的话给个关注,成为我粉丝!! 本期只要是做好背景以及人物! 首先做一个游戏最重要的东西——窗口 impo…

    Python 2023年9月18日
    045
  • 前沿重器[31] | 理性聊聊ChatGPT

    前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:。(算起来,专项启动已经是20年的事了!) 2022年的…

    Python 2023年11月4日
    041
  • 【机器学习】Ensemble Learning 集成学习 + Python代码实战

    文章目录 一、集成学习概述 二、Bagging模型 * 2.1 随机森林 – 2.1.1 随机森林介绍 2.2.1 随机森林优势 2.2 KNN 2.3 软投票 2.4…

    Python 2023年8月2日
    080
  • pandas统计分析(下)——数据格式化、分组统计

    数据格式化 在数据处理以后需要对数据进行格式化,以增加数据的可读性。 主要使用round函数实现四舍五入,decimals参数用于设置保留小数的位数。 round(decimals…

    Python 2023年8月7日
    045
  • java flask_用它5分钟以后,我放弃用了四年的 Flask

    有一个非常简单的需求:编写一个 HTTP接口,使用 POST 方式发送一个 JSON 字符串,接口里面读取发送上来的参数,对其中某个参数进行处理,并返回。 如果我们使用 Flask…

    Python 2023年8月13日
    0104
  • 版本控制器Git的使用。

    1、基本介绍 ▶ 版本控制工具 1、集中式版本控制工具 集中式版本控制工具,版本库是集中存放在中央服务器的, team 里每个人 work 时从中央服务器下载代码,是必须联网才能工…

    Python 2023年9月16日
    054
  • 这回稳了,蓝桥杯才是yyds!

    为了提高自己的编程能力,很多人会选择参加比赛。而这些比赛中,连续三年入选”全国普通高校学科竞赛排行榜”的蓝桥杯大赛,可以综合测评加分,优先奖学金评定、升学考…

    Python 2023年9月17日
    036
  • python pip安装seaborn sns以及失败解决方法 sns.load_dataset(“tips“)

    python安装seaborn seaborn库是什么 安装seaborn 失败的原因以及解决方法 * 网络原因 python版本 依赖库不完整 数据包不完整 – 解决…

    Python 2023年8月31日
    048
  • 多维数据的归一化

    本篇文章包括以下内容:1、数据的升降维度2、多维数据归一化思路3、关于归一化的注意事项 1、数据升降维度:首先我的数据集是一个100W*11的样式,我想用神经网络来对我的数据进行训…

    Python 2023年8月7日
    037
  • html标签语义化

    1.为什么要有语义化标签? 以前的html基本上就是div+css,然而div没有任何意义,全靠css显示页面的样式,因而近几年开发者提出了html结构的语义化,所以w3c就制订了…

    Python 2023年6月11日
    073
  • matplotlib入门

    目录 一,matplotlib简介 二,使用plt.plot()绘制直线、曲线、折线 三,使用plt.title()设置标题 四,风格的设置 五,使用xlabel()和ylabel…

    Python 2023年9月3日
    075
  • 一文带你吃透数据库的约束,不做CRUD程序员

    文章目录 1. 约束的概念 2. 约束的分类 3. 非空约束 4. 唯一约束 5. 主键约束 6. 默认约束 7. 外键约束 7. 约束的案例练习 ; 1. 约束的概念 &…

    Python 2023年10月10日
    045
  • 【机器学习】手写数字识别

    前言 logistic回归,是一个分类算法,可以处理二元分类,多元分类。我们使用sklearn中的logistic对手写数字识别进行实践。 数据集 MNIST数据集来自美国国家标准…

    Python 2023年5月23日
    0101
  • Spring Cloud10:Zipkin 服务跟踪

    一、概述 为什么要有服务跟踪,分布式系统中有很多个服务在相互调用,调用关系是错综复杂的,如果这时出现了问题,我们在进行问题排查的时候,或者在优化架构的时候,工作量就比较大,这时候就…

    Python 2023年6月9日
    088
  • 如何把Netflix数据集转换成Movielens格式?

    我们的目标是把Netflix数据集的格式转换成: &#x7528;&#x6237;id&#x3001;&#x7269;&#x54C1;id&…

    Python 2023年8月21日
    055
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球