当前位置: 首页 > news >正文

怎么改版网站网站建设公司的市场营销方案模板下载

怎么改版网站,网站建设公司的市场营销方案模板下载,wordpress 固定网址,阜阳做网站的公司推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群#xff1a;398291828小红书小破站 大家好#xff0c;我是佛系工程师☆恬静的小魔龙☆#xff0c;不定时更新Unity开发技巧#xff0c;觉得有用记得一键三连哦。 一、前言 Unity3D发布的WEBGL程序是不支持直接的I/O操… 推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群398291828小红书小破站 大家好我是佛系工程师☆恬静的小魔龙☆不定时更新Unity开发技巧觉得有用记得一键三连哦。 一、前言 Unity3D发布的WEBGL程序是不支持直接的I/O操作所以也就不能直接访问用户电脑的文件。 但是也是有办法去访问电脑中的文件打开文件的。 比如情况一如果知道电脑文件在什么位置、什么名字。 可以参考这篇文章 【Unity3D小技巧】Unity3D中打包WEBGL后读取本地文件数据 情况二知道要上传什么类型的文件但是需要弹出窗口来选择文件并打开。 这篇文章就来讨论一下WEBGL打开Window文件对话框并打开文件后上传文件显示图片/文本。 二、实现过程 先来看一下效果 2-1、实现分析 既然Unity3D没办法直接进行I/O操作但是JavaScript可以进行I/O操作那是不是就可以让Unity跟JS进行通信来进行操作。 JavaScript打开文件的代码很简单 input typefile //input那么就可以用Unity的按钮去调用这个组件从这个组件中获取到文件流。 OK理论存在实践开始。 2-2、Unity3D中做的准备 1在Unity的工程中新建Plugins文件夹 2在里面新建WebGl.jslib文件编辑代码这个文件是JS与WEBGL交互用的。 详情参照Unity官网https://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html 文件里面的内容如下 mergeInto(LibraryManager.library, {clickSelectFileBtn:function () {console.log(Enter);clickSelectFileBtn();}, });3搭建Unity程序 一个Button用来响应Js函数一个Image用来显示图片Text用来显示文本内容。 3在Hierarchy视图新建一个Scripts对象名字需要跟我一样因为后面要跟js脚本挂载脚本脚本名随意 using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Runtime.InteropServices; using UnityEngine; using UnityEngine.Events; using UnityEngine.Networking; using UnityEngine.UI;public class ReceiveDataHandle : MonoBehaviour {public Button BtnLoad;public Image showImg;public Text showText;[DllImport(__Internal)]private static extern void clickSelectFileBtn();/// summary/// 点击Open按钮/// /summarypublic static void BtnLoadEvent(){clickSelectFileBtn();}void Start(){BtnLoad.onClick.AddListener(BtnLoadEvent);}/// summary/// 接收base64字符串/// /summary/// param namebase64Str/parampublic void GetBase64(string base64Str){Debug.Log(base64Str);string[] split base64Str.Split(|);if (split[0].Contains(jpg)){StartCoroutine(ReadTexture(split[1], LoadImg));}else if (split[0].Contains(txt)){StartCoroutine(ReadData(split[1], LoadText));}else{Debug.Log(文件格式错误);return;}}/// summary/// 读取图片/// /summary/// param namepath/param/// param nameaction/param/// returns/returnsIEnumerator ReadTexture(string path,UnityActionTexture action){Debug.Log(path);UnityWebRequest request UnityWebRequestTexture.GetTexture(path);yield return request.SendWebRequest();if (request.isNetworkError || request.isHttpError){Debug.Log(request.error);}else{byte[] imgdata request.downloadHandler.data;action(DownloadHandlerTexture.GetContent(request));}}/// summary/// 加载图片/// /summary/// param nametexture/paramvoid LoadImg(Texture texture){Sprite ImgSprite Sprite.Create((Texture2D)texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));showImg.sprite ImgSprite;}/// summary/// 读取文本/// /summary/// param namepath/param/// param nameaction/param/// returns/returnsIEnumerator ReadData(string path, UnityActionstring action){Debug.Log(path);UnityWebRequest request UnityWebRequest.Get(path);yield return request.SendWebRequest();if (request.isNetworkError || request.isHttpError){Debug.Log(request.error);}else{Debug.Log(request.downloadHandler.text);action(request.downloadHandler.text);}}/// summary/// 加载文本/// /summary/// param nametext/paramvoid LoadText(string text){showText.text text;} }注意 clickSelectFileBtn函数用来调用Js函数GetBase64函数用来接收数据。 2-3、打包WEBGL后修改 注意我用的Unity2019.4.9f1版本。高版本打包出来的index.html以及Build里面的文件跟我的不一致这个后面有空再说如何匹配高版本吧先用2019版本演示。 打包之后 修改index.html文件 !DOCTYPE html html langen-usheadmeta charsetutf-8meta http-equivContent-Type contenttext/html; charsetutf-8titleUnity WebGL Player | Demo_WEBGLLoadFile/titlelink relshortcut icon hrefTemplateData/favicon.icolink relstylesheet hrefTemplateData/style.cssscript srcTemplateData/UnityProgress.js/scriptscript srcBuild/UnityLoader.js/scriptscriptvar unityInstance UnityLoader.instantiate(unityContainer, Build/WEBGL_LoadFile.json, {onProgress: UnityProgress});function clickSelectFileBtn() {var tempFileLayout document.getElementById(files);tempFileLayout.click();}function fileImport() {//获取读取我文件的File对象var selectedFile document.getElementById(files).files[0];if (selectedFile ! null) {var reader new FileReader();reader.readAsDataURL(selectedFile);reader.onload function (e) {var base64Str e.currentTarget.result.substring(e.currentTarget.result.indexOf(,) 1);sendMessageToUnity(base64Str);}}}function sendMessageToUnity(s) {//发送给unityvar filedocument.getElementById(files).files[0];SetFileUrlByDragEnd(file);}function SelectFile(){var filedocument.getElementById(files).files[0];SetFileUrlByDragEnd(file);}function SetFileUrlByDragEnd(file) {unityInstance.SendMessage(Scripts, GetBase64, file.name|URL.createObjectURL(file));}/script/headbodyinput typefile idfiles styledisplay:none onchangefileImport()div classwebgl-contentdiv idunityContainer stylewidth: 960px; height: 600px/divdiv classfooterdiv classwebgl-logo/divdiv classfullscreen onclickunityInstance.SetFullscreen(1)/divdiv classtitleDemo_WEBGLLoadFile/div/div/div/body /html代码解释一下 1首先是加了一个input typefile idfiles styledisplay:none onchangefileImport()用来响应打开文件的操作。 2然后用Unity程序的Button响应clickSelectFileBtn函数去触发这个组件。 3添加fileImport去处理打开的文件得到文件流。 4获得文件名和文件路径通过unityInstance.SendMessage(Scripts, GetBase64, file.name|URL.createObjectURL(file));传给Unity。 5URL.createObjectURL(file)可以获得本地文件的缓存url直接发给Unity然后Unity用来加载。 2-4、效果演示 三、后记 如果觉得本篇文章有用别忘了点个关注关注不迷路持续分享更多Unity干货文章。 你的点赞就是对博主的支持有问题记得留言 博主主页有联系方式。 博主还有跟多宝藏文章等待你的发掘哦 专栏方向简介Unity3D开发小游戏小游戏开发教程分享一些使用Unity3D引擎开发的小游戏分享一些制作小游戏的教程。Unity3D从入门到进阶入门从自学Unity中获取灵感总结从零开始学习Unity的路线有C#和Unity的知识。Unity3D之UGUIUGUIUnity的UI系统UGUI全解析从UGUI的基础控件开始讲起然后将UGUI的原理UGUI的使用全面教学。Unity3D之读取数据文件读取使用Unity3D读取txt文档、json文档、xml文档、csv文档、Excel文档。Unity3D之数据集合数据集合数组集合数组、List、字典、堆栈、链表等数据集合知识分享。Unity3D之VR/AR虚拟仿真开发虚拟仿真总结博主工作常见的虚拟仿真需求进行案例讲解。Unity3D之插件插件主要分享在Unity开发中用到的一些插件使用方法插件介绍等Unity3D之日常开发日常记录主要是博主日常开发中用到的用到的方法技巧开发思路代码分享等Unity3D之日常BUG日常记录记录在使用Unity3D编辑器开发项目过程中遇到的BUG和坑让后来人可以有些参考。
http://www.hkea.cn/news/14513330/

相关文章:

  • 建网络商城网站吗深圳创业补贴政策2024最新
  • 大庆网站建设大庆WordPress留言板插件使用
  • 站长之家怎么查询网站哪家做的未来最吃香的十大行业2022
  • 长沙网站建设服务商南岸网站建设哪家好
  • 哪里可以做网站系统心雨在线高端网站建设专业
  • 浅谈网站规划建设与管理维护拼多多关键词排名查询工具
  • 建筑网格组织天津网站seo服务
  • 火狐 开发者 网站手机端官网设计
  • 中国制造网官方网站国际站如何查看网站服务器
  • wordpress 文章字体农产品网站建设及优化项目
  • 企业门户网站 源码百度搜索app免费下载
  • 温州营销网站公司vr网页播放器wordpress
  • 昆明做网站做的好的公司建立网上商城应考虑哪些问题
  • 东莞建网站的公司wordpress调用子栏目
  • 阎良网站建设做商务网站要多少钱
  • 百度服务器建设自己的网站dw网站的站点建设
  • 博物馆网站建设的目标川制作官方网站
  • 淘宝网站的推广与优化哪里网站建设专业
  • 上海网站推广行业需求团购网站为什么做不走
  • 国内做外单的网站有哪些注册网站域名的入口
  • 海宁做网站的公司定制网站案例
  • 江苏常州网站建设公司周口seo推广
  • 做视频的软件模板下载网站有哪些电商网站开发服务
  • 合肥市建设网站住建个人证书查询网
  • 什么是工具型网站ie不支持wordpress
  • 黄山市网站建设wordpress 添加友链
  • 许昌市住房和城乡建设厅网站工作服定做厂家 成都
  • 青岛公司网站建设开发wordpress新页面代码
  • 建永久网站秦皇岛建设网招聘信息
  • 做网站简单么建设公司网站需要什么资料