Unity3D+WebGL数据交互、传参
描述
我也是刚开始学习WebGL+Unity3D。文章描述中可能有些不准确,见谅。Unity版本 2018.2.6f11.项目:创建了一个选择框和一个文本内容要实现的就是改变文本内容的值2.逻辑:鼠标左击点击屏幕->加载JS函数JS函数调用C#方法->改变WebGL中文本内容
C#代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class ChangeTextColor1 : MonoBehaviour {public Toggle changeToggle;private Text text;void Start(){//Debug.Log("初始状态");text = changeToggle.GetComponentInChildren<Text>();text.text = "初始状态";}void Update(){if (Input.GetMouseButtonDown(0)){//PassInformation为js的方法text.text = "激活-发送状态";Application.ExternalCall("PassInformation");}}//与html进行交互private void GetInformation(string s){text.text = s;}}
HTML+JS
<!DOCTYPE html>
<html lang="en-us"><head><meta charset="utf-8"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Unity WebGL Player | 20190918</title><link rel="shortcut icon" href="TemplateData/favicon.ico"><link rel="stylesheet" href="TemplateData/style.css"><script src="TemplateData/UnityProgress.js"></script><script src="Build/UnityLoader.js"></script><script>var gameInstance = UnityLoader.instantiate("gameContainer", "Build/WebGL190918.json", {onProgress: UnityProgress});function PassInformation() //承接Unity{var str = "我是程序猿";gameInstance.SendMessage("GameObject", "GetInformation", str); //参数分别是:Unity里面挂载脚本的gameobject,要触发的脚本里面的方法,脚本方法的参数}function send() {gameInstance.SendMessage("GameObject", "GetInformation", 'title');}</script></head><body><div class="webgl-content"><div id="gameContainer" style="width: 960px; height: 600px"></div><div class="footer"><div class="webgl-logo"></div><div class="fullscreen" onclick="gameInstance.SetFullscreen(1)"></div><div class="title" onclick='send(this)'>20190918</div></div></div></body>
</html>
运行效果
WebGL项目+Unity项目
链接: https://pan.baidu.com/s/1gg8NlHOo6AhxsGuGhQaRHQ 提取码: 2333
项目中遇到的问题
Unity发布webgl时项目中的中文不显示或者消失
https://blog.csdn.net/liu442620190/article/details/82685266
Unity3D+WebGL数据交互、传参相关推荐
- .NET MVC5专题(前后端交互传参方式)
前后端的各种传参 private List<CurrentUser> _UserList = new List<CurrentUser>() {new CurrentUser( ...
- 前端h5与 android/ios 交互传参
介绍 前端 与 Android/iOS 交互的代码.(双方要约定一个公用的方法) 1.与Android交互 ① 前端 调用 Android 的方法,这里将约定的方法名为:HtmlToAndroid w ...
- 《微信小程序案例4》bindtap点击事件使用自定义数据data-xxx传参方法
一.错误方法 bindtap="selected(1)" 二.正确方法 1.首先在标签中使用data-xxx来自定义要传入的数据,xxx代表数据值 2.绑定事件bindtap=xx ...
- Vue 中路由传参(动态路由匹配)
一.解释 把数据从一个路由页面传递到另外一个页面的技术 这里列举了 params 和 query 的传参方式 二.案例 案例展示 手机列表页 传参到 手机详情页面(传递的是id) ① params ...
- vue动态路由传参---query传参和params传参
当一个页面跳转到另一个页面时,组件结构相同,只是内容不同且地址栏后缀不同 ,这个地址栏的后缀就是参数,根据不同参数渲染不同的内容,这个跳转就叫路由传参. 当项目中组件间通过路由跳转,有时,我们需要传递 ...
- Vue进阶之vue路由传参
前奏 首先先埋一个伏笔,在配置路由时,大家应该都知道,要给路由起个名字,我们先配2个页面,一个home页,一个search页. {path: '/home',name: 'Home',componen ...
- Unity3d(webGL)构建数字孪生小案例(包含完整的数据交互体系)附赠完整代码
先来看看概念吧: 数字孪生体是现有或将有的物理实体对象的数字模型, 通过实测.仿真和数据分析来实时感知.诊断.预测物理实体对象的状态, 通过优化和指令来调控物理实体对象的行为, 通过相关数字模型间的相 ...
- vue从后台获取新数据后刷新_vue传参页面刷新数据丢失问题
在做vue的时候,经常会遇到组件之间数据的传递问题,通过params或者query传参,但是,当页面刷新的时候,数据会丢失,找不到数据.今天经过总结,解决了这个问题.通过了一下几种情况进行传值: 通过 ...
- SpringMVC入门(二)—— 参数的传递、Controller方法返回值、json数据交互、异常处理、图片上传、拦截器
SpringMVC入门(二)-- 参数的传递.Controller方法返回值.json数据交互.异常处理.图片上传.拦截器 参考文章: (1)SpringMVC入门(二)-- 参数的传递.Contro ...
最新文章
- epub阅读器_推荐一款Epub(windows版)阅读软件,附下载安装教程
- Web前端开发笔记——第二章 HTML语言 第八节 表单标签
- PHP web应用的调试
- cacti linux cpu datasource,Cacti监控Cisco CPU 以及内存
- Servlet编程API
- Java常用性能分析工具 jconsole、jvisualvm、 jstat、jinfo、jmap、jhat、jstack
- python 打开程序 最大化_@Python 程序员,如何最大化提升编码效率?
- [转]Android核心分析之二:方法论探讨之概念空间篇
- django学习笔记03
- 敏友的【敏捷个人】有感(6): 我的改变从执行力分享开始
- JVM(一)内存分配
- WTL学习笔记(5)系统皮肤管理
- 新员工不继续试用,这事怪谁?
- 罗格斯的计算机科学博士奖学金,移动性视角下智能城市的物理信息系统
- 获取选中状态复选框的值并添加id
- ijkplayer编译生成aar,支持https,rtsp,录制与截图
- luogu P3642 [APIO2016]烟火表演
- 0705第七讲标准模版库
- 如何编写自己的头文件
- 黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第一章 配置python环境
热门文章
- STM32CubeMX外部中断
- 对图像进行随机翻转和裁剪
- 微信运动刷步数html前端源码,悦动圈步数提交协议漏洞分析实现微信运动刷步数...
- 程序员成长笔记(二):SVN,Git,Mercurial
- COVID vaccine inequity, species swaps — the week in infographics
- printf颜色控制c语言,C语言中控制printf的打印颜色实例及vt100的控制符文档
- MySQL的存储过程(in、out、inout)
- APP为什么打开率低?三大原因和应对之策!
- 医学图像分割 unet实现(一)
- 如何在线翻译整篇PDF论文?