标签:评价 using image unity 功能 cti set margin yield
using UnityEngine;
using System.Collections;
public class AClass{
public delegate void onComplete(Sprite sprite);
public IEnumerator GetTexture(onComplete callback)
{
//save
Texture2D t=new Texture2D(Screen.width,(int)(Screen.width*aspect));
t.ReadPixels(new Rect(0,0,Screen.width,(int)(Screen.width*aspect)),0,0,false);
t.Apply();
byte[] byt = t.EncodeToPNG();
m_photoName = Time.time+".png";
m_photoPath = Globe.persistentDataUrl+m_photoName;
Debug.Log("System.IO++++++++Start WritePng");
System.IO.File.WriteAllBytes(m_photoPath.Replace("file://",""),byt);
Debug.Log("m_photoPath="+m_photoPath);
//load image
WWW www = new WWW(m_photoPath);
yield return www;
//回调
callback(sprite);
}
}using UnityEngine;
using System.Collections;
public class BClass{
public void ExecuteCallBack(){
StartCoroutine(m_webCamera.GetTexture(delegate(Sprite sp)
{
watermark.gameObject.SetActive(false);
photoImg.sprite=sp;
}));
}
}
B类中是调用方式,当B类调用A类的截屏方法时,能够直接通过Delegate(Sprite sp) 匿名函数来获取到sp得图片。应为A类中截屏方法中。使用了WWW的异步载入,所以B类中的给PhotoImg的精灵赋值也是异步的。
using UnityEngine;
using System.Collections;
public class BClass{
public void ExecuteCallBack(){
//StartCoroutine();
m_webCamera.GetTexture(delegate(Sprite sp)
{
watermark.gameObject.SetActive(false);
photoImg.sprite=sp;
});
}
} public void ExecuteCallBack(){
//StartCoroutine();
m_webCamera.GetTexture(delegate(Sprite sp);
m_webCamera.GetTexture(delegate(Sprite sp)
{
watermark.gameObject.SetActive(false);
photoImg.sprite=sp;
});
}!
using UnityEngine;
using System.Collections;
public class AClass{
public delegate void onComplete(Sprite sprite);
public void GetTexture(onComplete callback){
StartCoroutine(ScreenCapture(callback));
}
public IEnumerator ScreenCapture(onComplete callback)
{
//save
Texture2D t=new Texture2D(Screen.width,(int)(Screen.width*aspect));
t.ReadPixels(new Rect(0,0,Screen.width,(int)(Screen.width*aspect)),0,0,false);
t.Apply();
byte[] byt = t.EncodeToPNG();
m_photoName = Time.time+".png";
m_photoPath = Globe.persistentDataUrl+m_photoName;
Debug.Log("System.IO++++++++Start WritePng");
System.IO.File.WriteAllBytes(m_photoPath.Replace("file://",""),byt);
Debug.Log("m_photoPath="+m_photoPath);
//load image
WWW www = new WWW(m_photoPath);
yield return www;
//回调
callback(sprite);
}
}标签:评价 using image unity 功能 cti set margin yield
原文地址:http://www.cnblogs.com/brucemengbm/p/6937070.html