2

Activity GameActivity:首次打开应用程序时打开的页面。活动GameMain:游戏的玩活动。活动GameWin:转移到下一个GameActivity(最终会有一个“你赢了!”屏幕,带有统计数据和事物)

  1. 申请开始
  2. 这是触发的:

    button = (Button) findViewById(R.id.button1);
    
    button.setOnClickListener(new OnClickListener() {
    
        public void onClick(View arg0) {
            Intent intent = new Intent(context, GameMain.class);
            intent.putExtra("level",1);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
            finish();
        }
    
    });
    
  3. GameMain现在已加载。字符 ,circle现在位于屏幕的左侧。

  4. circle到达屏幕的右侧时,我的游戏循环中的这个 if 语句现在变为 true:

        if ((circle.x+width/2 > end.startx) && (circle.x-width/2 < end.stopx) && (circle.y+circle.size==end.starty-width/2)) {
                layout.removeAllViews();    
                Intent intent = new Intent(context, GameWin.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                intent.putExtra("level",level);
                finish();
                startActivity(intent);
        }
    
  5. GameWin屏幕这样做:

        Log.v(TAG,"Goint to level: "+(level+1));
        Intent intent = new Intent(context, GameMain.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.putExtra("level",(level+1));
        startActivity(intent);
        finish();
    
  6. 有时它会起作用,并且将GameMain关卡数据设为 2,只是比我通过关卡屏幕直接进入关卡 2 慢得多。有时它会起作用,并且将GameMain级别数据设为 2,然后一遍又一遍地重新加载页面。有时,我的手机会重新启动。

  7. 如果我有能力完成第 2 级,我会这样做。3 级如果可以工作、刷新或重新启动手机,则速度会更慢。

  8. 如果我在任何时候单击“主页”,它会转到我的主屏幕,但应用程序会自行打开回到GameMain最后一级(返回到第 6 步或第 7 步)。

我究竟做错了什么?

API 8 级,LG P500 (2.3.3)

事实证明这不是问题所在。游戏循环仍在后台运行。

4

2 回答 2

0

这里有 2 件事可以尝试:

  1. 在 GameMain 中,确保你之前调用startActivity(intent)finish()
  2. noHistory添加到清单中的活动并设置为 true

编辑您应该开始将日志记录语句添加到您的函数和回调中。这将向您显示正在运行的内容,并为您提供有关运行时间的时间信息。例子:

onCreate(){
   Log.i(TAG, "onCreate++");
   super.onCreate();

   //other code here

   Log.i(TAG, "onCreate--");
}
于 2012-07-02T06:09:04.043 回答
0

事实证明,这只是部分意图问题。主要问题是我没有停止 gameloop

当游戏循环停止时,一切正常。

于 2012-07-02T06:50:55.867 回答