标签:评价 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