广告切换展示

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;

public Text set;
public Text get;
public float timer;//广告展示时间
int selectedInsex = 0;
string DownPath = ""; //资源下载保存的路径
string localPath = ""; //读取资源的路径
public GameObject rawImage;//图片展示的GameObject
string filepath = null;//图片存放的路径

void Awake()
{
selectedInsex = PlayerPrefs.GetInt("selectedImage");//获得上次存档的图片
get.text = "get———" + selectedInsex;
}

void Start ()
{
//将所有图片放入列表中
imageArr.Add("Image1");
imageArr.Add("Image2");
imageArr.Add("Image3");

StartCoroutine(DownLoadToLocal("http://192.168.0.98/MyItems/TankCard/AndroidLoad.xml")); // 从服务器上下载XML到本地
StartCoroutine(ReadInAndroid()); //读取xml
UpdateImageChange();

}

void UpdateImageChange()
{

if (selectedInsex < imageArr.Count)
{
selectedInsex++;
selectedInsex %= imageArr.Count;

}

else
{
selectedInsex--;
if (selectedInsex == -1)
{
selectedInsex = imageArr.Count - 1;

}

}

}
void Update()
{
timer += Time.deltaTime;//广告播放时间设定
//if (timer > 3)
//{
// rawImage.SetActive(false);
//}
set.text = "set———" + selectedInsex;
PlayerPrefs.SetInt("selectedImage", selectedInsex);
}

//从服务器图片下载资源
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);
}
}

//解析Xml
//安卓解析XML
//用于读取文件的协程函数
IEnumerator ReadInAndroid()
{
localPath = Application.streamingAssetsPath + "/AndroidLoad.xml";
WWW www = new WWW(localPath);
while (!www.isDone)
{
Debug.Log("Getting GetXML");
yield return www;
ParseXml(www);
}
}

//解析
public void ParseXml(WWW www)
{
List<XmlNode> xmlNodeList = new List<XmlNode>();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(www.text);
XmlNodeList nodeList = xmlDoc.SelectSingleNode("Image").ChildNodes;

//遍历每一个节点,拿节点的属性以及节点的内容
foreach (XmlElement xe in nodeList)
{
foreach (XmlElement x1 in xe.ChildNodes)
{
string newstr = x1.InnerText; //分割为字符串数组(Split)
string[] arr = newstr.Split(‘|‘);

if (File.Exists(Application.persistentDataPath + "/" + x1.Name + ".jpg"))
{
//可以使用switch----case制作
//if (selectedInsex == 1)
//{
// rawImage.GetComponent<RawImage>().texture = LoadIMG("Image1" + ".jpg");
//}
//if (selectedInsex == 2)
//{
// rawImage.GetComponent<RawImage>().texture = LoadIMG("Image2" + ".jpg");
//}
//if (selectedInsex == 3)
//{
// rawImage.GetComponent<RawImage>().texture = LoadIMG("Image3" + ".jpg");
//}
//加载存储选择了的图片
rawImage.GetComponent<RawImage>().texture = LoadIMG(imageArr[selectedInsex] + ".jpg");
res.text = "imageArr[selectedInsex] ++++" + imageArr[selectedInsex];

}

else
{
StartCoroutine(DownLoadToLocalIMG(x1.Name,arr[1] ));//从服务器上下载图片
}
}
}
}

//从服务器下载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;
}
void OnGUI()
{
if (GUI.Button(new Rect(430, 0, 100, 100), "跳过"))
{
rawImage.SetActive(false);
}
}

}

时间: 2024-08-26 06:39:09

广告切换展示的相关文章

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 = ""; stri

jQuery制作鼠标悬停水平滑动门切换特效仿阿里妈妈联盟广告切换特效

原文:jQuery制作鼠标悬停水平滑动门切换特效仿阿里妈妈联盟广告切换特效 源代码下载地址:http://www.zuidaima.com/share/1607128309009408.htm 版权声明:本文为博主原创文章,未经博主允许不得转载.

Android 通过ViewFlipper实现广告轮播功能并可以通过手势滑动进行广告切换

为了实现广告轮播功能,在网上找了很多方法,有的效果很好,但是代码太麻烦,并且大多是用的viewpager,总之不是很满意. 于是看了一下sdk有个控件是ViewFlipper,使用比较方便,于是尝试了一下,最终实现了所需效果.在这里与大家分享. 首先看一下效果(主要是布局方面的效果,毕竟手势识别和滑动不太好显示,懒得弄成gif了): 1.布局文件.xml <LinearLayout android:layout_width="fill_parent" android:layout

[广告]根据广告权重展示广告次数的算法

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; text-decoration: none; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: poin

IOS 图片切换展示的实现

先看看我们的效果 这种图片切换经常出现商城或者论坛的首页用于展示 分析 这里我用了UIScrollView和pageControll实现了一种平铺导航,涉及到两种操作: 1 点击pageControl换页 2 换页转换pageControll 实现 #import "ViewController.h" #define WEIGHT [UIScreen mainScreen].bounds.size.width #define HEIGHT [UIScreen mainScreen].b

Three.js 对模型多个动画切换展示(fbx)

来源 :https://blog.csdn.net/qq_30100043/article/details/80087471 简介 上一节本想直接了结动画这一章.最后一想,没有做过模型动画切换的案例.就此,再加一章,关于模型多个动画之间如何切换的问题. 案例实现 案例查看地址:http://www.wjceo.com/blog/threejs/2018-04-25/153.html 首先,我们需要先将模型导入,之前案例已经讲过如何导入,这里就不赘述. //加载模型 var loader = ne

jQuery UI 实现图片循环显示,常用于网站首页banner广告切换

http://www.runoob.com/try/try.php?filename=jqueryui-example-position-cycler <!doctype html><html lang="en"><head>  <meta charset="utf-8">  <title>jQuery UI 定位(Position) - 图像循环</title>  <link rel=&

swiper 增加一个鼠标移入分页器的小点后就切换展示图片

本人处理的方法是: 1.头部加载插件: <link rel="stylesheet" href="swiper.min.css"> <script src="swiper.min.js"></script> 2.html部分: <div class="swiper-container"> <div class="swiper-wrapper"> &

网站常见术语

DAU:(Daily Active User)日活跃用户数量MAU:(Monthly Active User)月活跃用户量PV:(Page View)页面浏览量,可以理解为页面被人看过的总次数UV:(Unique Visitor)唯一访问量,可以理解为页面被多少人看过.很明显UV不会大于PV.ARPU:(Average Revenue Per User)每用户平均收入ROI:(Return On Investment)投资回报率Cookie:Cookie就是服务器暂存放在你计算机上的一笔资料,好