私の実際のコード:
function Update() {
if(Input.GetMouseButtonDown(0)) {
Debug.Log("foto");
Application.CaptureScreenshot(Application.dataPath + "Screenshot.png");
}
}
この関数には、すべての写真の出力パスが必要です。
ありがとう!
私の実際のコード:
function Update() {
if(Input.GetMouseButtonDown(0)) {
Debug.Log("foto");
Application.CaptureScreenshot(Application.dataPath + "Screenshot.png");
}
}
この関数には、すべての写真の出力パスが必要です。
ありがとう!
static function CaptureScreen(){
var filename;
var name :String = GuiScript.stringToEdit;
var allowedScreenshots:int=1000;
for(var i = 0; i <= allowedScreenshots; i++)
{
if(Application.platform == RuntimePlatform.Android){
filename = "/mnt/sdcard/Android/data/com.xxxx.Test01/files/" + name + i + ".png";
} else {
filename = name + i + ".png";
}
if(!System.IO.File.Exists(filename))
{
Application.CaptureScreenshot(name + i + ".png" );
print("ScreenDUMP made!");
print(i);
print(name);
return;
}
else
{
print("filename already exists");
print(i);
}
}
}
Unity3D である種のスクリーンショットを保存するには、少なくとも3 つApplication.CaptureScreenshot
の方法があります: 、Texture2D.ReadPixels
およびRenderTexture
.
私が知っているのは最初のものだけです: Application.CaptureScreenshot
. それは確かに最も単純なものです。パスを使用せず、プラットフォームに応じてApplication.persistentDataPath
またはに保存されます。Application.dataPath + "/../"
残念ながら、現在のところ、確実に知る方法はなく、コードだけで知る方法はありません。そのように壊れているだけです。また、速度が遅く、処理に数秒かかる場合があります。別のプロセスとして実行されるため、何かに使用する前に、ファイルが作成されるのを待っている更新またはコルーチンが必要です。
ファイルを一緒に保存する場所を選択したい場合は、次のようにする必要があります。
bool creatingFile = false;
string fileName = "Screenshot.png"
function Update() {
if(Input.GetMouseButtonDown(0)) {
Application.CaptureScreenshot(fileName);
creatingFile = true;
}
if (creatingFile) {
string origin = System.IO.Path.Combine(Application.persistentDataPath, fileName);
string destination = "/sdcard/ScreenCapture/" + fileName; // could be anything
if (System.IO.File.Exists(origin)) {
System.IO.File.Move(origin, destination);
creatingFile = false;
}
}
}
Application.persistentDataPath
unity の は常に のドキュメント フォルダを指し、 をIOS
指し/mnt/android/data/application-bundle-identifier/
ますandroid
。
putのパスを指定しない場合は、Application.CaptureScreenshot
代わりにスクリーンショットの名前のみを指定すると、IOS
テストされていないの Documents フォルダーに自動的に保存されandroid
ます。
お役に立てれば。