3

10x10 の正方形で構成される卓上スタイルのゲーム ボードがあります。各正方形は PNG 画像です。これらの正方形の上に、正方形の上にドラッグ アンド ドロップできるタイルを配置したいと考えています。

ビューに関する私の最善のアプローチは何ですか?

レイヤー1がボードを表すImageViewのグリッドである2つのレイヤーを持つことは可能ですか? 次に、ボードを表す ImageView の上に「積み重ねる」ことができる ImageView をタイルにすることは可能でしょうか?

良いデザインのアイデアは大歓迎です!

ありがとう。

/ヘンリック

4

2 に答える 2

3

ビューで onTouchEvent をオーバーライドします。

@Override
public boolean onTouchEvent(MotionEvent event) {
    super.onTouchEvent(event);

    if (!mEnable) {
        return false;
    }

    int action = event.getAction();
    int x = (int)event.getX();
    int y = (int)event.getY();

    switch (action) {
    case MotionEvent.ACTION_DOWN:
        onTouchActionDown(x, y);
        break;
    case MotionEvent.ACTION_MOVE:
        onTouchActionMove(x, y);
        break;
    case MotionEvent.ACTION_UP:
        onTouchActionUp(x, y);
        break;
    }

    return true;
}

次に、 onTouchActionUp/Down のいずれかで、座標を使用して画像リソースを再描画します。つまり、ビューを無効にします。

onDraw をオーバーライドして、ドラッグされたグラフィックを描画します。

@Override
protected void onDraw(Canvas canvas)
   drawMyDragGfx();
}
于 2010-12-09T09:41:51.023 に答える
2

私は自分のビューでオーバーライドをonDraw行いonTouchEventました。つまり、ドラッグ アンド ドロップですべて自分で描画しました。

魅力のように働きました:-)

于 2010-07-12T11:50:42.203 に答える