首先需要一个文件“System.Windows.Forms”,它在unity目录下比如“E:\Unity\unity5.6\Unity\Editor\Data\Mono\lib\mono\2.0”,往下找到文件“System.Windows.Forms”

unity屏幕截图

接着需要在unity工程目录下创建一个名为“StreamingAssets”的文件夹用来存放截取的屏幕图片,如果不建立则系统会报错

unity屏幕截图

最后将下列代码输入,在Update()里判断你想要截屏时的条件再执行协程,下面的是当按下鼠标左键时截屏

using UnityEngine;
using System.Collections;
using System.IO;

public class FrameAnimation : MonoBehaviour
{
    public Texture2D image;
    public int w;
    public int h;
    public float nextTime = 0.0f;
    public float rate = 0.3f;
    int i = 0;
    // Use this for initialization
    void Start()
    {
        w = Screen.width;
        h = Screen.height;
        image = new Texture2D(w, h);
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButton(0))
        {
           
            StartCoroutine(SaveImage(i));
        }
       
    }

    IEnumerator SaveImage(int i)
    {
        yield return new WaitForEndOfFrame();
        image.ReadPixels(new Rect(0, 0, w, h), 0, 0, true);//read pixels from screen to texture
        image.Apply();
        byte[] bytes = image.EncodeToPNG();
        File.WriteAllBytes(Application.streamingAssetsPath + "/" + i + ".png", bytes);
        Debug.Log("write a pic");
        yield return null;
    }
}

 

相关文章: