0

アルファベットを上に、ランダムな画像を下に置く子供向けゲームを作成しています。リンゴなどの画像を「a」の文字にドラッグすると、その権利を示すポップアップが表示されます。このアイデアの進め方を教えてくれる人はいますか?

4

1 に答える 1

2

あなたが求めているのは次のとおりだと思います:

  1. レイアウト内のドラッグ可能なビュー
  2. 衝突アルゴリズム
  3. QuickAction ダイアログまたは非表示ダイアログ (ポップアップ用)

1.

public void setDraggable(final View view)
{
    final LayoutParams lp1 ;
    lp1 = (LayoutParams) view.getLayoutParams();
    final int width = getWindowManager().getDefaultDisplay().getWidth();
    final int height = getWindowManager().getDefaultDisplay().getHeight();
    view.setOnTouchListener(new OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            view.bringToFront();
            switch(event.getAction())
            {
            case(MotionEvent.ACTION_DOWN):
            {
                break;
            }
            case(MotionEvent.ACTION_MOVE):
            {
                if((event.getRawX()+(view.getWidth()/2))<width&&((event.getRawX()+(view.getWidth()/2)) > view.getWidth()))
                    lp1.leftMargin = (int) event.getRawX() - (view.getWidth()/2);
                if((event.getRawY()-view.getHeight())<height&&(event.getRawY()-view.getHeight())>0)
                    lp1.topMargin = (int) event.getRawY() - view.getHeight();           
                view.setLayoutParams(lp1);
                break;
            }
            case(MotionEvent.ACTION_UP):
            {
            }

            }
            return true;
        }
    });     
}

基本的には、ビューの余白を変更して、動いているように見せます。ここでは相対レイアウトを使用します

2.) ここでヒントをお伝えします。アプリ内のすべてのビュー/画像は長方形なので、ビューのすべての側面 (ピクセル単位) を取得してから if-else ステートメントを使用します。

3.) http://www.londatiga.net/it/how-to-create-quickaction-dialog-in-android/ または、単に setVisibility を使用できます

于 2012-10-14T16:08:38.397 に答える