このトピックで過去1時間の精練を行っていますが、有望な結果がいくつか見つかりましたが、私はそれらをする必要があった。私はX Y座標を使ってサウンドをトリガーしていますが、これは素晴らしいことです。スクリーンを8つの四角形に分割し、それぞれの四角形で異なるサウンドをトリガーしたいとします。 1つの大きな問題があることを除いて、私はこれをかなり簡単に行うことができます。エミュレータ(私は800x440ピクセルです)にXとYの値を使用していて、私のEVO 3D(私は960x540だと思います)で同じプログラムを使用している場合、プロセス全体が本質的に台無しです。画面全体ではなく、私の画面が使用されています。 touchEventsの真のXとY値の代わりに、密度ピクセルに似た何かを使用する方法はありますか?そうすることで、すべてのデバイスごとにすべてがスケールされます。私はgetRawX()/ Yを使ってみましたが、何も変更していないようです。相対的なスケールではなく、各デバイスで動作するピクセルのピクセルです。誰かが私の周りの方法に指示することができますか?ありがとう、私はそれを感謝します!異なる解像度のデバイスにgetX()とgetY()の値を使用する(相対スケール)
編集: マウスの簡単なアドバイスのおかげで、私はそれを理解しました。私は不思議に思っている人のために何をしたのですか?
x = e.getX();
y = e.getY();
DisplayMetrics gettotalY = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(gettotalY);
toty = gettotaly.heightPixels;
ym1 = (float) (toty * 0.5);
したがって、私は4つのボタンがY軸に均等に分割されているとします。画面が800ピクセル(Y方向)の場合、各ボタンは200ピクセルになります。基本的には、Yの値を4で割っています。私のコードをどのようにセットアップするのですか?私は現在、「if(y> 1&y <200 {\t PLAY SOUND}」と言っていますが、スクリーンを4にカットする方法を教えてください。「int y1 = "1/4"、int y2 = "2/4" "? – Tanner
最初に、Androidではボタンとしてウィジェットを使用し、Androidシステムでボタンのクリックを管理できるようにします。 とにかく、 int buttonIndex = getY()* numButtons/windowHeight(); numButtons-1にインデックス0を取得します。 –