您好,欢迎来到Unity之家!   unity.jb51.net 
  • 首 页
  • 你问我答
  • 当前位置:首页 > 程序开发 > 代码编程 >
    unity3d屏幕截图功能
    时间:2015-02-25 08:57 来源:互联网 作者:网络 浏览:收藏 挑错 推荐 打印

    unity3d屏幕截图功能


    [java] 
    function OnGUI(){ 
       if(GUI.Button(Rect(Screen.width*0.5-50,Screen.height*0.5-50,100,100),"screen")){ 
           Application.CaptureScreenshot("Screenshot.png"); 
       } 

    【c#】

    using UnityEngine;

    using System.Collections;

    public class example : MonoBehaviour

    {

      void OnMouseDown()

      {

        Application.CaptureScreenshot("Screenshot.png");

      }

    }

     


    function OnGUI(){
       if(GUI.Button(Rect(Screen.width*0.5-50,Screen.height*0.5-50,100,100),"screen")){
           Application.CaptureScreenshot("Screenshot.png");
       }
    }

     

    这张Screenshot.png图片被存在了当前工程的子目录下了。

     

    ===========================================================

    另外的方法

    function ScreenshotEncode()
    {
       // wait for graphics to render
        yield WaitForEndOfFrame();

        // create a texture to pass to encoding
        var texture:Texture2D = new Texture2D (Screen.width, Screen.height, TextureFormat.RGB24, false);

       // put buffer into texture
        texture.ReadPixels(Rect(0.0, 0.0, Screen.width, Screen.height), 0.0, 0.0);
        texture.Apply();

      // split the process up–ReadPixels() and the GetPixels() call inside of the encoder are both pretty heavy
        yield;

      // create our encoder for this texture
        var encoder:JPGEncoder = new JPGEncoder(texture, 75.0);

      // encoder is threaded; wait for it to finish
        while(!encoder.isDone)
          yield;

      // save our test image (could also upload to WWW)
        File.WriteAllBytes(Application.dataPath + “/../testscreen-” + count + “.jpg”, encoder.GetBytes());
        count++;
    }

     

     

    //简便方法:

    function OnMouseDown() {
        Application.CaptureScreenshot(“Screenshot.png”);
    }


    (责任编辑:雷霆风)
    免责声明:Unity之家部分内容来源于互联网,如有侵权,请联系我们,本站将立即进行处理。