私は、デスクトップとモバイルプラットフォーム用の統一アプリケーションを作成しました。画面の左上隅には地図があります。この地図には、各フレームごとに円が描かれています。サークルの位置は実行時にいつでも変更されます。2次元画像を画面に表示する方法unity3d
この作業では、テクスチャに円を描き、このテクスチャを描画します。このコードはエミュレータでは動作しますが、アンドロイドの携帯電話やタブレットでは動作しません。私は地図上に円が見えません。
私のコードはここにある:
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
にボタンを作成すると、それはアンドロイド上の実行時に表示されます。
私は別の解決策を試しました。シーンに3D平面オブジェクトを作成し、.pngファイルをテクスチャとしてドラッグします。しかし、私は円を引いた変数Texture2D
を使ってこのテクスチャを変更しません。
なぜあなたは 'スプライト'を使用しませんか? –
xとyの位置を画面の幅と高さで分けます。 – LumbusterTick