using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;

public class Jietu : MonoBehaviour {

//ui

//ui挂在一个unlitTexture材质球上

public Image img;

// Use this for initialization

void Start () {

}

bool grab;

// Update is called once per frame

void Update () {

if (Input.GetKeyDown(KeyCode.Space))

{

grab = true;

StartCoroutine(OnPostRender1());//方案1

}

}

//还有种是用postRender方案,但是脚本需要挂在摄像机上

private IEnumerator OnPostRender1()

{

yield return new WaitForEndOfFrame();

if(grab)

{

CaptureScreen();

}

}

//使用这种方案需要脚本挂在摄像机上,生命周期会自动调用

public void OnPostRender()

{

if (grab)

{

CaptureScreen();

}

}

//此函数要么在携程,要么在OnPostRender,不可直接调用,直接调用尺寸过大会报错

void CaptureScreen()

{

Texture2D texture = ScreenCapture.CaptureScreenshotAsTexture();

img.material.mainTexture = texture;

//刷新

img.enabled = false;

img.enabled = true;

}

}

 

好文推荐

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。