http://game.ceeger.com/Script/Application/Application.CaptureScreenshot.html
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中实现截图功能的多种方法,包括简单的Application.CaptureScreenshot函数使用及更复杂的纹理编码截图过程。通过这些方法,开发者可以灵活地将游戏画面保存为图片文件。

被折叠的 条评论
为什么被折叠?



