UIToolkit を使用して、Unity で Android ゲーム プロジェクトの GUI を作成しています。サンプル シーン (キッチン シンクなど) は、Unity エディターで正常に動作します。しかし、Android デバイスでまったく同じサンプル シーンを実行すると、機能しません。ボタンのテクスチャは、実際のタッチ領域からわずかにずれています。さまざまな Android デバイスを試しましたが、結果は同じです。
次のような関数を使用してスプライトの場所にアクセスしようとしました
public float getYpos(this IPositionable sprite )
{
if(sprite == null)
return ;
float toRet = sprite.position.y;
return toRet;
}
しかし、コードが値を返さない場合は!
「IPositionablePositioningExtensions」を使用して、スプライトの場所を返すことさえ試みました。しかし、成功しません。「IPositionablePositioningExtensions」の使い方はよくわかりませんが、この分野の初心者を始めたばかりです。
私のボタンの作成は次のようになります。
playButton = UIButton.create("playUp.png", "playDown.png",0,0);
playButton.positionCenter();
playButton.scale = new Vector3(0.4f,0.4f,0);
サンプル シーンが Android デバイスでどのように表示されるかを示すスクリーンショットを次に示します。バウンディング ボックスは、ボタン テクスチャが別の場所でレンダリングされている間、タッチが機能する領域です。
Button テクスチャは中央の位置にあるはずですが、タッチ領域が本来あるべき場所にとどまっている間に別の位置に移動します。