如果我在主要活动中有一个矩形从左到右(使用简单的线程)直到它触及屏幕的末端,那么当碰撞发生时如何让主活动切换到另一个活动? 编辑:为活动添加了代码。我在" zmija"中有方法。检查碰撞。
主要活动
ZmijicaSV zmija;
private static int score=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
zmija=new ZmijicaSV(this);
zmija.setOnTouchListener(this);
setContentView(zmija);
}
@Override
protected void onPause() {
super.onPause();
zmija.pause();
}
@Override
protected void onResume() {
super.onResume();
zmija.resume();
}
@Override
public boolean onTouch(View v, MotionEvent event) {
boolean up=zmija.sp.isUp();
boolean right=zmija.sp.isRight();
boolean down=zmija.sp.isDown();
boolean left=zmija.sp.isLeft();
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
if(up) {
zmija.sp.setUp(false);
zmija.sp.setRight(true);
increaseScore();
break;
}
if(right) {
zmija.sp.setRight(false);
zmija.sp.setDown(true);
increaseScore();
break;
}
if(down) {
zmija.sp.setDown(false);
zmija.sp.setLeft(true);
increaseScore();
break;
}
if(left) {
zmija.sp.setLeft(false);
zmija.sp.setUp(true);
increaseScore();
break;
}
}
return true;
}
public void increaseScore()
{
score++;
}
public int getScore()
{
return score;
}
public void setScore(int s)
{
score=s;
}
public boolean Collision()
{
if(zmija.checkCollision())
return true;
else
return false;
}
答案 0 :(得分:2)
import android.content.Intent;
如果您是从表面视图中调用它
if(collision)
startActivity(new Intent(context, GameOver.class));
上下文的上下文是您用于创建表面视图的上下文。
如果您在活动中呼叫活动,可以这样调用:
startActivity(new Intent(this, SecondActivity.class));