1
내 렌더링 클래스에서 건배하려고합니다. 어떻게 작동시킬 수 있습니까?건배를하면 예기치 않게 게임이 종료됩니다.
12-13 17:14:59.856: E/AndroidRuntime(17521): FATAL EXCEPTION: GLThread 1323
12-13 17:14:59.856: E/AndroidRuntime(17521): Process: com.damienrenner.spacefruitshooter, PID: 17521
12-13 17:14:59.856: E/AndroidRuntime(17521): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
12-13 17:14:59.856: E/AndroidRuntime(17521): at android.os.Handler.<init>(Handler.java:200)
12-13 17:14:59.856: E/AndroidRuntime(17521): at android.os.Handler.<init>(Handler.java:114)
12-13 17:14:59.856: E/AndroidRuntime(17521): at android.widget.Toast$TN.<init>(Toast.java:327)
12-13 17:14:59.856: E/AndroidRuntime(17521): at android.widget.Toast.<init>(Toast.java:92)
12-13 17:14:59.856: E/AndroidRuntime(17521): at android.widget.Toast.makeText(Toast.java:241)
12-13 17:14:59.856: E/AndroidRuntime(17521): at com.damienrenner.spacefruitshooter.GRenderer.timer(GRenderer.java:278)
12-13 17:14:59.856: E/AndroidRuntime(17521): at com.damienrenner.spacefruitshooter.GRenderer.onDrawFrame(GRenderer.java:291)
12-13 17:14:59.856: E/AndroidRuntime(17521): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1523)
12-13 17:14:59.856: E/AndroidRuntime(17521): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
감사합니다 : 가 여기 내 코드는 다음
public class GRenderer extends Game implements Renderer
{
public void timer()
{
Game.currentGameTime = System.currentTimeMillis();
Game.ellapsedTime = Game.currentGameTime - Game.gameStartTime;
if (Game.ellapsedTime > 10000)
{
// THIS IS WHEN The GAME SHOULD END
Toast.makeText(Game.context, "10Seconds", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onDrawFrame(GL10 gl) // when drawing to screen
{
timer();
}
}
내 로그 캣입니다 (내 활동이 게임이라고합니다) (무관 한 덩어리를 생략 필자)!
로그 캣 켄 늑대의 구현 후 :
12-13 18:00:14.152: E/AndroidRuntime(18966): FATAL EXCEPTION: GLThread 1365
12-13 18:00:14.152: E/AndroidRuntime(18966): Process: com.damienrenner.spacefruitshooter, PID: 18966
12-13 18:00:14.152: E/AndroidRuntime(18966): java.lang.ClassCastException: android.app.Application cannot be cast to android.app.Activity
12-13 18:00:14.152: E/AndroidRuntime(18966): at com.damienrenner.spacefruitshooter.GRenderer.timer(GRenderer.java:279)
12-13 18:00:14.152: E/AndroidRuntime(18966): at com.damienrenner.spacefruitshooter.GRenderer.onDrawFrame(GRenderer.java:300)
12-13 18:00:14.152: E/AndroidRuntime(18966): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1523)
12-13 18:00:14.152: E/AndroidRuntime(18966): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
12-13 18:00:16.204: I/Process(18966): Sending signal. PID: 18966 SIG: 9
:
더 많은 정보를 원하시면 여기 :
Game.context
가정는 다음과 같이 귀하의 코드를 변경, 호출
Activity
에 대한 참조를 보유하고 게임은 여전히 강제 종료됩니다 ('불행히도 게임이 중지되었습니다') – RennerStudios스택 추적에서 같은 오류가 있습니까? –
아니요, 질문에 logcat을 추가했습니다. – RennerStudios