pc端解析json广告切换展示playerfabs

using UnityEngine;
using System.Collections;
using LitJson;
using System.IO;
using UnityEngine.UI;

public class jsonjx : MonoBehaviour
{
public RawImage rawImage;
ArrayList imgShow = new ArrayList();
int selectedIndex = 0;
string DownPath = "";
string localPath = "";

void Awake()
{
selectedIndex = PlayerPrefs.GetInt("selectedImage");
}
// Use this for initialization
void Start () {

imgShow.Add("Image1");
imgShow.Add("Image2");
imgShow.Add("Image3");

StartCoroutine(DownLoadToLocal("http://192.168.0.98/MyItems/TankCard/MyJson.json"));
StartCoroutine(downJson());
UpdateImage();

}

void UpdateImage()
{
if (selectedIndex < imgShow.Count)
{
selectedIndex++;
selectedIndex %= imgShow.Count;
}
else
{
selectedIndex--;
if (selectedIndex == -1)
{
selectedIndex = imgShow.Count - 1;
}
}
}
void Update()
{
PlayerPrefs.SetInt("selectedImage", selectedIndex);
}
//从服务器下载资源
private IEnumerator DownLoadToLocal(string url)
{
WWW.EscapeURL(url); //url编码
WWW www = new WWW(url);//访问url
WWW.UnEscapeURL(url); //url解码
string filename = url.Substring(url.LastIndexOf(‘/‘) + 1); //根据URL获取文件的名字。
yield return www; //等待下载
if (www.error == null)
{

FileStream fs = File.Create(Application.persistentDataPath + "/" + filename); //path为你想保存文件的路径。
DownPath = Application.persistentDataPath + "/" + filename; //把下载的数据写到文件
fs.Write(www.bytes, 0, www.bytes.Length);
fs.Close();
Debug.Log(filename + "下载完成");

}
else
{
Debug.Log(www.error);
}
}

IEnumerator downJson()
{
//string url = "http://192.168.0.116/index.php?m=App&c=Api&a=room&ajax=json";
string url = "http://192.168.0.98/MyItems/TankCard/MyJson.json";

WWW www = new WWW(url);
yield return www;
Debug.Log(www.text);
JsonJx(www.text);
}

//解析json
void JsonJx(string str)
{
JsonData jd = JsonMapper.ToObject(str);

for (int i = 0; i < jd.Count; i++)
{

string name = jd[i]["name"].ToString();
Debug.Log("jd[i][name]+++" + name);
string url=jd[i]["url"].ToString();
Debug.Log("jd[i][url]+++" + url);

if (File.Exists(Application.persistentDataPath + "/" + name + ".jpg"))
{
rawImage.texture = LoadIMG(imgShow[selectedIndex] + ".jpg");
// string id = jd[i]["sid"].ToString();
//Debug.Log("jd[i][sid]++++" + id);

}
else
{
StartCoroutine(DownLoadToLocalIMG(name, url));
}
}

}
//从服务器下载IMG资源
private IEnumerator DownLoadToLocalIMG(string strname,string url )
{
//url编码
WWW.EscapeURL(url);
//访问url
WWW www = new WWW(url);
//url解码
WWW.UnEscapeURL(url);
//根据URL获取文件的名字。
string filename = url.Substring(url.LastIndexOf(‘/‘) + 1);

//等待下载
yield return www;

//Instantiate(www.assetBundle.mainAsset);

if (www.error == null)
{
Debug.Log(www);
//path为你想保存文件的路径。
FileStream fs = File.Create(Application.persistentDataPath + "/" + filename);
DownPath = Application.persistentDataPath + "/" + filename;
//把下载的数据写到文件
fs.Write(www.bytes, 0, www.bytes.Length);
fs.Close();

Debug.Log(filename + "下载完成");

//加载img
//rawImage.GetComponent<RawImage>().texture = LoadIMG(strname + ".jpg");
}
else
{
Debug.Log(www.error);
}
}

//从磁盘上读取文件内容 Texture2D
Texture2D LoadIMG(string ImgName)
{
//实例化一个文件流
FileStream fs = File.Open(Application.persistentDataPath + "/" + ImgName, FileMode.Open);
//把文件读取到字节数组
byte[] data = new byte[fs.Length];
fs.Read(data, 0, data.Length);
fs.Close();
//实例化一个内存流--->把从文件流中读取的内容[字节数组]放到内存流中去
MemoryStream ms = new MemoryStream(data);
//创建Texture
int width = 85;
int height = 85;
Texture2D texture = new Texture2D(width, height);
texture.LoadImage(data);
return texture;
}
}

json文档

[

{"name":"Image1","url":"http://192.168.0.98/MyItems/TankCard/Image1.jpg"},
{"name":"Image2","url":"http://192.168.0.98/MyItems/TankCard/Image2.jpg"},
{"name":"Image3","url":"http://192.168.0.98/MyItems/TankCard/Image3.jpg"}

]

时间: 2024-11-06 20:35:51

pc端解析json广告切换展示playerfabs的相关文章

广告切换展示

using UnityEngine;using System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine.UI;using System.Xml;using System.Text; public class ndAdroiTempload : MonoBehaviour { ArrayList imageArr = new ArrayList(); public Text res;

实现自己写的小程序富文本编辑以及展示,不跟PC端的兼容,但是可以在pc端显示以及修改,一旦修改,小程序不再做解析

富文本结构: 1 <div class="detail_box"> 2 <ul> 3 <li v-for="(item4,index4) in detailAry" :key="index4"> 4 <!-- 文字 --> 5 <div class="detail_list"> 6 <div class="list_t"> 7 <

Android从服务端获取json解析显示在客户端上面

Android从服务端获取json解析显示在客户端上面 百度经验:jingyan.baidu.com 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比,Json数据的体积更加小,传输效率高,易解析,不过可读性不高; 因为这次要从服务器端得到Json数据,并且通过解析之后把解析后的数据显示在Android客户端中,首先部署服务器端代码(直接使用Jsp/Servlet): 构造的Json数据如下: [{"name":"张三",&

jquery简单的图片切换效果,支持pc端、移动端的banner图片切换开发

详细内容请点击 无意中看见了两年前写的一个图片切换,那会儿刚刚学习网页制作,可以说是我的第一个处女座的jquery图片切换效果.无聊之余对它的宽度稍稍做了一下修改,变成了支持pc端.手机端全屏的banner图片切换效果. 写法很简单,网页初学者们或者wenbapp初学者们可以拿去学习学习,也可以在这基础上加上手机的图片滑动切换效果.废话不多说,下面说说这个简单的图片切换的效果吧! 首先以下是图片切换的效果图:   图片切换效果html内容: <div class="tyna2"&

服务端提供的JSON数据接口与用户端接收解析JSON数据

首先来了解下JSON格式解析 json结构的格式就是若干个 键/值(key, value) 对的集合,该集合可以理解为字典(Dictionary),每个 键/值 对可以理解成一个对象(Object). 键/值 对中的 键(key) 一般是 一个string,值(value)可以是string.double.int等基本类型,也可以嵌套一个 键/值 对,也可以是一个数组,数组里面的数据的类型可以是基本类型,或者 键/值 对.可以看出 键/值 本来没什么,只是嵌套得多了就会觉得混乱,下面举个具体的例

我的Android进阶之旅------&amp;gt;Android实现用Android手机控制PC端的关机和重新启动的功能(二)Androidclient功能展示

Androidclient的实现思路大致例如以下: 1.首先扫描局域网内全部PC,看是否有PC端的server在执行并监听30000port. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center"> 2.假设没有扫描到有PC端的server在执行并监听30000port.则又一次扫描或者退出. 3.扫描到了有

HTML5 PC端框架

HTML5  PC端框架 1.        Bootstrap Bootstrap是Twitter推出的一个开源的用于前端开发的工具包.它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架.Bootstrap提供了优雅的HTML和CSS规范,Bootstrap的源代码是使用less编写的:基于jQuery框架开发,并在jQuery框架的基础上进行了更为个性化和人性化的完善,形成一套自己独有的网站风格,并兼容大部分jQuery插件.Boo

Macaca自动化测试之PC端测试

Macaca是一套完整的自动化测试解决方案.由阿里巴巴公司开源: http://macacajs.github.io/macaca/ 特点: 同时支持PC端和移动端(Android.iOS)自动化测试. 支持JavaScript(Node.js).Java.Python. 本篇文章将介绍如何使用该工具时行PC端自动化测试. Install Macaca 1.Macaca由Node.js开发,所以需要安装Node.js. https://nodejs.org/en/ 2.安装Node.js完成.

移动端页面对PC端排名的影响

Google关于移动端页面对PC端排名的影响"移动优先索引",Google是搜索引擎的大佬,Google以后会以移动版页面为搜索排名的判断基础,目前正处于测试阶段. 之前笔者做过测试,在百度搜索中,"重庆SEO"这个关键词,本站移动端排名比移动端排名要好得多,按照百度模仿Google的轨迹,以后也有可能做这样的调整,目前百度移动端的排名是参考PC端排名进行调整. 逛逛老外的网站(不一定要FQ)其实都非常的简洁,对国内许多"码农"来说,是值得学习的