私はスクリーンショットを撮って、すぐにそれを使って何らかのプレビューを表示し、いくつかの時間は動作し、何度かは表示されません。ないScreenCapture.CaptureScreenshotでスクリーンショットをキャプチャして保存する
public GameObject screenshotPreview;
public void TakeScreenshot() {
string imageName = "screenshot.png";
// Take the screenshot
ScreenCapture.CaptureScreenshot (imageName);
// Read the data from the file
byte[] data = File.ReadAllBytes(Application.persistentDataPath + "/" + imageName);
// Create the texture
Texture2D screenshotTexture = new Texture2D(Screen.width, Screen.height);
// Load the image
screenshotTexture.LoadImage(data);
// Create a sprite
Sprite screenshotSprite = Sprite.Create (screenshotTexture, new Rect(0, 0, Screen.width, Screen.height), new Vector2(0.5f, 0.5f));
// Set the sprite to the screenshotPreview
screenshotPreview.GetComponent<Image>().sprite = screenshotSprite;
}
(ここでは、そこにいくつかの文法ミスがあるかもしれない)仕事で、私はその場でそれを再作成してみますので、私は、このコンピュータでの団結を持っていない限り、私が読んだとして、 ScreenCapture.CaptureScreenshotは非同期ではないので、データをロードしようとする直前に画像が書き込まれていたはずですが、何回か前に言いましたが、動作しないと8x8テクスチャに赤い疑問符、これは明らかに読み込まれていないテクスチャですが、ファイル私はそれが正しくロードされていない理由を理解できないので、そこにいたはずです。
もう1つのことを試みました(これはうんざりですが、これに疲れていてアイデアがなくなってしまいました)は、更新メソッドを入れてしばらく待ってからデータを読み込み、テクスチャを作成し、スプライトして表示することもできますが、以前よりも頻繁に失敗することはありませんが、それでも失敗します。ファイルが作成されていても書かれていません。これに対処するには?どんなアドバイスもありがとうございます。
追加情報として、このプロジェクトはiOSデバイスで実行されています。
私はちょうど[ここ]読んでいました(https://developer.vuforia.com/forum/faq/unity-how-can-i-capture-スクリーンショット)については、あなたがそれを提案したという事実が私の気持ちを良くして、明日、私はそれにショットをつけてくれます。ありがとう! –