0

私はこれに少し問題があります。押しボタンを作りたかった。ただし、 OpenGLでButtonクラスを使用する方法がわかりません。Java内で「R」クラスを使用していません。代わりに、互換性のために古い「assets」フォルダーを使用しています。

ボタンをタッチしたかどうかを確認し、「タッチアップ」で次の画面をロードするように設定しました。これの欠点は、画面に触れてから指をボタンまでドラッグしてから指を離すことができることです。次の画面が読み込まれます。これは、その位置でタッチアップイベントが登録されているためです。

これを修正する最も簡単な方法は、Buttonクラスを使用することですが、どのように使用すればよいですか(特に、使用できなくなるためfindViewById)。

これは私が使用していたコードですが、onTouchUpが衝突をチェックすると、touchDownが魔法のようにTouchUpと同じに変更されましたか?

private void onTouchDown(Vector2 point)
{
    if (test.justUp)
    {
        test.setTouchDown(point);
        test.justUp = false;
    }
}
private void onTouchUp(Vector2 point)
{
    test.setTouchUp(point);
    test.justUp = true;

    if(OverlapTester.pointInRectangle(test.bounds, test.touchUp) &&
       OverlapTester.pointInRectangle(test.bounds, test.touchDown))
    {
        game.setScreen(new LevelSelect(game));
        return;
    }
}
4

1 に答える 1

1

独自のボタンクラスを作成する場合は、「タッチダウン」位置と「タッチアップ」位置を登録してください。両方がボタンのグラフィック領域内に登録されている場合は、ボタンが押されます。

于 2011-07-25T00:01:21.900 に答える