私はここのチュートリアルに従おうとしています:
http://www.edu4java.com/en/androidgame/androidgame2.html
しかし、障害にぶつかった。何らかの理由で、EclipseはgetHolder()を認識せず、次のエラーが発生します。
getHolder()メソッドは、GameViewタイプに対して未定義です。
そして、次の解決策:
getHandler(...);に変更します。getHolder()メソッドを作成します
コードはチュートリアルとほとんど同じですが、とにかく私が持っているものは次のとおりです。
package com.example.killthemall;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;
import android.view.View;
public class GameView extends View {
private Bitmap bmp;
private SurfaceHolder holder;
public GameView(Context context) {
super(context);
holder = getHolder();
holder.addCallback(new Callback() {
public void surfaceDestroyed(SurfaceHolder holder) {
}
public void surfaceCreated(SurfaceHolder holder) {
Canvas c = holder.lockCanvas(null);
onDraw(c);
holder.unlockCanvasAndPost(c);
}
public void surfaceChanged(SurfaceHolder holder, int format,
int width, int height) {
}
});
bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.BLACK);
canvas.drawBitmap(bmp, 10, 10, null);
}
}