unity Android 可后台替换图片
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
using UnityEngine.Video; public class Main:MonoBehaviour {
private FileInfo[] files;
public GameObject explain;
public GameObject homePage;
public GameObject allBtn;
public GameObject showPic;
public List<string> list = new List<string>();
private int currentStep = 0;
private int totalStep;
public GameObject nextBtn;
public GameObject prevBtn;
public GameObject backBtn;
public string standName;
public VideoPlayer video;
private string AndroidDirectory = "/storage/emulated/0/Android/";//安卓路径
private string WindowsDirectory = System.Environment.CurrentDirectory + "/资源/";//Windows路径
private string filePath;
void Start() {
explain.SetActive(false);
explain.GetComponent<Image>().raycastTarget = false; if(Directory.Exists(WindowsDirectory)) {
filePath = WindowsDirectory;
} else if(Directory.Exists(AndroidDirectory)) {
filePath = AndroidDirectory + "资源";
} else {
return;
}
for(int i = 0;i < allBtn.transform.childCount;i++) {
GameObject obj = allBtn.transform.GetChild(i).gameObject;
EventTriggerListener.Get(obj).onClick = onClick;
} string homePath = filePath + "/" + standName + ".png";
LoaderPic.LoadByIo(homePath,homePage);
video.url = filePath + "/" + standName + ".mp4"; string explainPath = filePath + "/" + standName + "弹框.png";
LoaderPic.LoadByIo(explainPath,explain);
EventTriggerListener.Get(nextBtn).onClick = onNext;
EventTriggerListener.Get(prevBtn).onClick = onPrev;
EventTriggerListener.Get(backBtn).onClick = onBack;
} public Text txt;
void onClick(GameObject sender) {
string getPaths = filePath + "/图片" + sender.name;
if(Directory.Exists(getPaths)) {//判断这个路径是否存在
DirectoryInfo direction = new DirectoryInfo(getPaths);
files = direction.GetFiles("*",SearchOption.AllDirectories);
}
list.Clear();
for(int i = 0;i < files.Length;i++) {
if(files[i].Name.EndsWith(".meta")) {
continue;
}
list.Add(files[i].ToString());
}
totalStep = list.Count;
showPic.SetActive(true);
explain.SetActive(true);
txt.text = "====" + list[currentStep].ToString();
LoaderPic.LoadByIo(list[currentStep],showPic);
} void onNext(GameObject sender) {
currentStep++;
if(currentStep >= totalStep) {
currentStep = 0;
}
LoaderPic.LoadByIo(list[currentStep],showPic);
}
void onPrev(GameObject sender) {
if(currentStep <= 0) {
currentStep = totalStep;
}
currentStep--;
LoaderPic.LoadByIo(list[currentStep],showPic);
}
void onBack(GameObject sender) {
showPic.SetActive(false);
explain.SetActive(false);
list.Clear();
} IEnumerator GetTexture(Image showPic, string url) {
UnityWebRequest uwr = UnityWebRequest.Get(url);
DownloadHandlerTexture downloadTexture = new DownloadHandlerTexture(true);
uwr.downloadHandler = downloadTexture;
yield return uwr.SendWebRequest();
if(uwr.isNetworkError || uwr.isHttpError) {
print(uwr.error);
} else {
Texture2D t = downloadTexture.texture;
showPic.sprite = Sprite.Create(t,new Rect(0,0,t.width,t.height),Vector2.one);
}
}
}
unity Android 可后台替换图片的更多相关文章
- android+nutz后台如何上传和下载图片
android+nutz后台如何上传和下载图片 发布于 588天前 作者 yummy222 428 次浏览 复制 上一个帖子 下一个帖子 标签: 无 最近在做一个基于android的ap ...
- Android中后台的劳动者“服务”
前言 作为四大组件之一的Service,想必不少开发者都是了解的,那具体熟悉吗?是不是对Service中的每个知识点是否了解,它与Activity的关系又是什么样的,我们所理解的后台服务跟Servic ...
- android + php 后台开发
android+php 安卓与服务器的数据交互 在我们进行android开发的时候,避免不了的要进行登录注册,个人信息获取,数据交互等等这一系列的操作.这样就需要进行android端与服务器端进行数据 ...
- dedecms织梦系统后台验证码图片不显示的解决方法
网站迁移后,dedecms织梦系统后台验证码图片不显示的解决方法通用解决方案-取消后台验证码功能因为没有验证码,不能进后台,所以修改php文件源代码:方法一:打开dede/login.php 找到如下 ...
- Android中后台线程如何与UI线程交互
我想关于这个话题已经有很多前辈讨论过了.今天算是一次学习总结吧. 在android的设计思想中,为了确保用户顺滑的操作体验.一些耗时的任务不能够在UI线程中运行,像访问网络就属于这类任务.因此我们必须 ...
- [Unity] Android插件
1> 编写eclipse android代码. 2> 把unity下class.jar拷入eclipse libs目录下, 工程中右键build path, add to build pa ...
- Android之拨号界面图片风格,无信息默认显示界面修改
Android之拨号界面图片风格,无信息默认显示界面修改 点开Dialer app,出现拨号,联系人,收藏三个选项卡,也就是三个Fragment,在三个界面都没有信息的时候会显示一个时钟,联系人,收藏 ...
- Android 加载大图片到内存
本文演示android中图片加载到内存 首先设计界面: 代码如下: <LinearLayout xmlns:android="http://schemas.android.com/ap ...
- Android ImageView显示本地图片
Android ImageView 显示本地图片 布局文件 <?xml version="1.0" encoding="utf-8"?> <R ...
- [转]Android 超高仿微信图片选择器 图片该这么加载
快速加载本地图片缩略图的方法: 原文地址:Android 超高仿微信图片选择器 图片该这么加载 其示例代码下载: 仿微信图片选择器 ImageLoader
随机推荐
- Vulhub 漏洞学习之:Redis
Vulhub 漏洞学习之:Redis 1 Redis简介 Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库.Redis 与其他 key - value 缓存产品 ...
- Vue学习笔记之Vue-CLI快速使用
1. 概述 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供: 通过 @vue/cli 实现的交互式的项目脚手架. 通过 @vue/cli + @vue/cli-service- ...
- 一次线上OOM问题分析
现象 线上某个服务有接口非常慢,通过监控链路查看发现,中间的 GAP 时间非常大,实际接口并没有消耗很多时间,并且在那段时间里有很多这样的请求. 原因分析 先从监控链路分析了一波,发现请求是已经打到服 ...
- hdfs file system shell的简单使用
目录 1.背景 2.hdfs file system shell命令有哪些 3.确定shell操作的是哪个文件系统 4.本地准备如下文件 5.hdfs file system shell 5.1 mk ...
- Django中获取用户IP方法
Django中通过request.META可以来获取用户的IP. request.META 是一个Python字典,包含了所有本次HTTP请求的Header信息,比如用户IP地址和用户Agent(通常 ...
- mysql explain 查看sql语句执行计划概述
mysql explain 查看sql语句执行计划概述 id:选择标识符select_type:表示查询的类型.table:输出结果集的表partitions:匹配的分区type:表示表的连接类型po ...
- P2910 [USACO08OPEN]Clear And Present Danger S题解
bfac3402-1150-46c7-8798-f545389dbac3 其使用最简单的方法做就好了忘了啥名字,类似于dp 给个代码 #include<bits/stdc++.h> usi ...
- List<Object>集合获取指定属性最大值的对象
List<Vo> list = dao.selectList();if(CollectionUtils.isNotEmpty(list)) { Optional<Vo> max ...
- LWC-002_Composition
Composition (lwc.dev) Set a Property on a Child Component # Send an Event from a Child to an Owner ...
- mysqldump备份命令使用参数
参数 参数说明 导出全部数据库. mysqldump -uroot -p --all-databases 导出全部表空间. mysqldump -uroot -p --all-databases -- ...