Unity 之 创建二维码
来源:互联网 发布:myeclipse php 编辑:程序博客网 时间:2024/06/09 20:46
关注公众号,获取更多干货。
最近看到公司里好多人在分享网页链接的时候都用二维码相互传递,然后就突然想到如果在Unity的项目中需要实时创建二维码进行分享链接的时候要怎么办。
然后就开始在网上搜了一下“Unity 创建二维码”
结果出来的教程大多都是zxing的使用啊,什么什么的。
但是如果大家在度娘那直接搜“二维码”,会发现有好多做二维码实时生成的,并不需要接什么dll或者其他的东西。
那么这篇文章呢,并不是说zxing不方便,或者说我有什么更好的解决办法,只是换一种思路,用我这个比较笨的脑子,用另一种方式去解决问题。
其实大多数的二维码生成网站都会提供一些API,有的直接用Get或者Post请求就可以返回一个图片。
有的则是json或者是一些其他的东西。
直接返回图片的,在这里我就不做讲解了,因为WWW.texture就可以在Unity里直接使用了。
那么希望大家看完我下面的一系列操作,可以在以后对待问题的时候,能够用在一瞬间想到很多种解决方法,或者在没有解决方法的时候,要想到把自己做不了,并且别人能做的,拿过来自己用。
废话说了一大堆,现在开始整理我的思路。
首先,我选择的是草料二维码
在网页的右侧,有一个更多
点开后,选择API服务
点开后下拉,找到范例。
我们复制范例的链接地址,在浏览器访问
可以看到,这个API返回的是一个Html静态网页。
那么问题来了,这在Unity中,要这怎么办,才能拿到图片呢?
首先,看一下他们的参数说明
https://cli.im/api/qrcode/code?text=二维码内容&mhid=美化模版id
我们编写一个:
“https://cli.im/api/qrcode/code?text=http://youku.com&mhid=5EqSDQzsmc0hMHcsKNZTMao”
并在Unity中,用WWW去请求,然后Print一下www.text
可以看到,控制台的输出就是一个Html内容。但是这种数据我们并不能直接使用。
但是,既然我们访问这个链接可以看到二维码,那么在这一堆数据中,就能找到我们要的信息。
很简单,body中有一个img标签,src代表图片地址,我们只要截取到地址,就可以获得我们想要东西。
代码如下:
WWW w = new WWW ("https://cli.im/api/qrcode/code?text=http://youku.com&mhid=5EqSDQzsmc0hMHcsKNZTMao");yield return w;print(w.text);//获取'src=" //' 后所有的数据string s = w.text.Substring(w.text.IndexOf("<img src=") + 12, w.text.Length - (w.text.IndexOf("<img src=") + 12));//截取src="" 内部的链接地址,不包括'//'string result = s.Substring(0, s.IndexOf("\""));print(result);
我们再次查看控制台
复制截取到的链接地址并访问
这样,就找到了我们需要的数据,在用WWW去请求我们截取到的地址。、
然后在用www返回的texture传给Unity去创建Sprite也好,直接使用Texture2D也好,反正我们现在可以将我们想要的表达的变成了一个二维码并展示出来了。
本文永久链接:http://blog.csdn.net/aries_h/article/details/72845925
- Unity 之 创建二维码
- Unity中创建二维码
- 二维码之创建
- php 之 创建永久二维码
- [swift学习之十二]二维码创建练习
- 创建二维码
- unity之NGUI之Anchors代码创建
- Unity生成二维码功能
- 二维码 生成 unity
- Unity生成二维码
- Unity中生成二维码
- unity 二维码相关
- Unity之Handles创建一个界面-三
- Unity之Editor类创建窗口
- UNITY之动态创建NGUI对象
- unity之使用unet创建局域网游戏
- Unity二维码识别和生成二维码
- Unity编程笔录--Unity二维码识别和生成二维码
- substring用法
- C++ 用libcurl库进行http 网络通讯编程
- codeforces 812 E. Sagheer and Apple Tree(树上博弈)
- Redis系列-复制
- hdu 2066 一个人的旅行
- Unity 之 创建二维码
- kotlin---习惯用法
- spring之@Transactional事务传播性
- java——与c++之不同——复合类型——指针 引用 struct union
- 仿微信通讯录如何得到侧栏索引的搜索字符
- javaWeb服务详解(含源代码,测试通过,注释) ——Dept的Dao层
- Android自带的CountDownTimer倒计时器有时会跳过最后一次onTick()的分析以及解决方案
- JavaScript中有关数字的精确计算
- Unity Learning for Day 3