完成后重启存储卡游戏

时间:2015-09-29 14:12:52

标签: android

嘿伙计们,我是Android开发的初学者,所以任何帮助都会非常感激!

问题

我正在制作纸牌游戏,最后它有一张摇动动画的卡片无休止地完成。我要添加的是每当用户点击屏幕上的任何内容时,我想让游戏重新开始

详情

请注意,我将线性布局作为背景,并在线性布局上对齐了几个按钮(这些是卡片)(如果需要,我可以提供代码和xml文件)

我的解决方案

我认为可行的是一个"隐形"对话框可以在点击结束当前游戏活动并启动相同活动的意图..这是正确的,如果是这样,我怎么能做一个不可见的对话框(不透明)?

如果您需要什么,请不要犹豫,我会尽快提供!

更新

这是我的代码中我想要做的事情我在上面说过

if (correctCounter>2){


        for(int ct=0;ct<memoCards.length;ct++){
            memoCards[ct].setClickable(false);
        }




        new Timer().scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {

                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        int temp = (int) (Math.random() * 5);
                        Animation shake = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.shake);
                        memoCards[temp].startAnimation(shake);
                    }
                });



            }
        },0,1000);



}

我想要的是在屏幕上进行触摸事件时我想让游戏重新开始

1 个答案:

答案 0 :(得分:4)

如果我理解你的问题,你需要的是为你的活动实现OnClickListener,即

 public class MainActivity extends AppCompatActivity implements OnClickListener{

    ImageView b1;
    TextView b2;
    int correctCounter=0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        LinearLayout ln2 = (LinearLayout) findViewById(R.id.ll1);
        ln2.setOnClickListener(this);
        b1 = (ImageView) findViewById(R.id.imageView);
        b2 = (TextView) findViewById(R.id.textView);

        b1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                correctCounter++;
                if (correctCounter>20) {
                    View parent = (View) v.getParent();
                    parent.performClick();
                }
            }
        });
        b2.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                correctCounter++;
                if (correctCounter>20) {
                    View parent = (View) v.getParent();
                    parent.performClick();
                }
            }
        });
    }

    @Override
    public void onClick(View v) {
            if (correctCounter>20) {
                /*Restart Activity*/
            }
    }
}

听众会尊重您的孩子组件&#39;单击事件,仅在单击可用空间时触发。

编辑:我添加了一个布局xml,以便更好地理解逻辑

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/ll1">
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView" />
</LinearLayout>