1
메소드에 log.d를 넣었습니다.보고하지 않습니다. Game의 run() 메서드가 실행되었지만 계속 진행하기 전에 surfaceCreated 메서드가 반환 될 때까지 기다립니다.surfaceCreated가 호출되지 않았습니다.
주 : 게임은 스레드이며 으로 터치 서피스 뷰 SurfaceView 내가 그것을 알아 냈어의 SurfaceHolder.Callback
private final void runGame() {
savedPos = 0;
resumeGame();
touchPanel = (TouchPanel)findViewById(com.mysite.mygame.R.id.touchPanel);
touchPanel.setMinimumHeight(displayWidth);
touchPanel.setParams(this, writeLock, gemSize9, gemSize12, marg);
textUpdate = new TextUpdate(this, d);
gm = new Game(tok9, tok12, m, d, this, textHandler, textUpdate, touchPanel, marg, gemSize9, gemSize12, readLock, writeLock);
initBitmaps();
gm.start();
}
private final void resumeGame() {
loadBGMusic();
layout = Layout.GAME;
setContentView(com.mysite.mygame.R.layout.game);
writeLock.lock(); try { paused = false; } finally { writeLock.unlock(); }
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rel"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/backrepeat"
android:keepScreenOn="true"
>
<com.mysite.mygame.TouchPanel
android:id="@+id/touchPanel"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:clickable="true"
android:focusableInTouchMode="true"
/>
</RelativeLayout>
public TouchPanel(Context context, AttributeSet attrs) {
super(context, attrs);
getHolder().addCallback(this);
}
귀하의 궁금한 점은 무엇입니까? – 0gravity
이 코드가 TouchPanel을 처리하여 창에 연결되는 것을 막는 방법이 있습니까? 이 코드가 실행 된 후 surfaceCreated (SurfaceHolder holder) 메서드가 호출되지 않습니다. – Mark