0
我正在嘗試使用SpriteRenderer
對象播放MovieTexture
對象。 我的代碼在OSX上正常工作。來自MovieTexture的Unity UpdateExternalTexture Windows崩潰
它崩潰我的Windows 7 出口遊戲,而在Windows中統一編輯播放模式7.
我相信currentTexture.UpdateExternalTexture()
呼叫使其崩潰,但我想不出爲什麼。
任何人都可以解釋爲什麼這不工作或如何調試它?就是我用
using UnityEngine;
using System.Collections;
public class FMAC_VideoPlayer : MonoBehaviour {
public string animationName = "escalator";
MovieTexture movieTexture;
Texture2D currentTexture;
SpriteRenderer spriteRenderer;
Sprite sprite;
void Start()
{
movieTexture = Resources.Load (animationName) as MovieTexture;
currentTexture = new Texture2D(movieTexture.width, movieTexture.height);
currentTexture.UpdateExternalTexture(movieTexture.GetNativeTexturePtr());
spriteRenderer = GetComponent<SpriteRenderer>();
sprite = Sprite.Create (currentTexture, new Rect(Vector2.zero, new Vector2(movieTexture.width, movieTexture.height)), new Vector2(0.5f, 0.5f));
spriteRenderer.sprite = sprite;
movieTexture.Play();
}
}
觀念的統一日誌文件不包含任何似乎是有益,只是消息Crashed.
這裏?
更新
我Debug.Log()
編天然紋理指針,打印指針地址(例如:556409680),因此它似乎並不爲NULL。
這是一個很好的猜測,我只是試圖檢查null,但它似乎有一個有效的值。我已經用這個更新了這個問題。 –
我對低級編程不太好,但我相信指針可以指向空值。嘗試使用'.ToInt32()'來獲取指針的值。 –
再次好點。試過了,它打印出和以前一樣的值。所以我認爲toInt32()值是在這種類型的對象情況下默認打印的值。 –