2

グラフィック初心者はこちら!デバイスに単純な画像を表示しようとしていますが、何も表示されず、ログにもバグは表示されません。プログラムは実行されますが、何も起こりません。

これが私のコードです

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 に立つべきでした。コンパイラは実際にはオーバーライドされたメソッドではなく、元のメソッドを呼び出していました。

解決策は、このエラーのマークを無効にして (右クリック)、独自のメソッドを強制的に呼び出すことでした。

私がはっきりしていることを願っています。とにかくありがとう。

4

1 に答える 1