我爲桌面和移動平臺創建了統一應用程序。屏幕左上角有一張地圖。我在這張地圖上畫出了每一幀的圓圈。隨時可以在運行時改變圓的位置。如何在屏幕上顯示2D圖像unity3d
爲了完成這個任務,我在紋理上繪製圓並繪製這個紋理。此代碼適用於模擬器,但不適用於android手機或平板電腦。我在地圖上看不到任何圈子。
我的代碼是在這裏:
TextAsset imageAsset; // .png changes to .png.bytes. And the file dragged to this variable on inspector.
Start() {
texture.LoadImage(imageAsset.bytes);
}
void OnGUI() {
Circle(texture, x, y, Color.red);
if (Event.current.type.Equals(EventType.Repaint))
{
Graphics.DrawTexture(new Rect(..), texture);
}
}
有人說棄用OnGUI
。但是,如果我在OnGUI
中創建了一個按鈕,它將在運行時顯示在android上。
我試過另一種解決方案。我在場景中創建一個3d平面對象,並將.png文件拖放爲紋理。但是我不會使用Texture2D
變量繪製圓圈來更改此紋理。
爲什麼不使用'sprites'? –
if(Event.current.type.Equals(EventType.Repaint))'只返回OnGUI函數,而不是更新,在您的Rect – LumbusterTick