【发布时间】:2015-12-01 17:54:50
【问题描述】:
我正在尝试用SpriteRenderer 对象播放MovieTexture 对象。
我的代码在 OSX 上运行良好。
它崩溃我的 windows 7 导出的游戏,并在 windows 7 的 Unity 编辑器中播放模式。
我确定currentTexture.UpdateExternalTexture() 调用会导致崩溃,但我不知道为什么。
谁能解释为什么这不起作用或如何调试它? Unity 日志文件没有包含任何有用的信息,只有消息 Crashed.
这是我正在使用的
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();
}
}
想法?
更新
我有 Debug.Log() 编辑了打印指针地址的本机纹理指针(例如 556409680 ),所以它似乎不是 NULL。
【问题讨论】:
标签: c# windows graphics unity3d texture2d