グラフィック初心者はこちら!デバイスに単純な画像を表示しようとしていますが、何も表示されず、ログにもバグは表示されません。プログラムは実行されますが、何も起こりません。
これが私のコードです
protected void onDraw(Canvas canvas) {
canvas.drawBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.droid_1), 10, 10, null);
}
そしてこのメソッドのcal
public void run() {
Canvas canvas;
long tickCount = 0;
Log.d(TAG, "starting game loop");
while (running) {
canvas = null;
//try locking the canvas for exclusive pixel editing on the surface
try
{
canvas = this.surfaceHolder.lockCanvas();
synchronized (surfaceHolder)
{
//update the game state
//draws the canvas on the panel
this.gamePanel.draw(canvas);
}
}
finally
{
//in case of an exception the surface is not left in
//an inconsistent state
if (canvas != null)
{
surfaceHolder.unlockCanvasAndPost(canvas);
}
}
画像は /res/drawablemdpi ディレクトリに存在します。
ご協力いただきありがとうございます!
編集:
アドバイスをありがとう。投稿する前に、すでに多くのリンクにアクセスしていました。私は最終的に自分で答えを見つけました。
そこで呼び出された onDraw メソッド
this.gamePanel.draw(canvas);
エラーが発生したため、意図的かつ誤って「draw」で修正したものは、onDraw に立つべきでした。コンパイラは実際にはオーバーライドされたメソッドではなく、元のメソッドを呼び出していました。
解決策は、このエラーのマークを無効にして (右クリック)、独自のメソッドを強制的に呼び出すことでした。
私がはっきりしていることを願っています。とにかくありがとう。