0
我有下面的代碼不顯示;位圖在Android中
@Override
public void run()
{
tickCount = 0L;
Log.d(TAG, "Starting game loop");
while (running)
{
try
{
gameCanvas = surfaceHolder.lockCanvas();
synchronized (surfaceHolder)
{
// Log.d(TAG, tickCount + " ticks so far");
tickCount++;
updateGameState();
render(gameCanvas);
}
} finally
{
if (gameCanvas != null)
{
// do this in a finally so that if an exception is thrown
// during the above, we don't leave the Surface in an
// inconsistent state
surfaceHolder.unlockCanvasAndPost(gameCanvas);
}
}
}
}
我遇到的問題是當我測試應用程序的位圖不顯示。我曾嘗試使用setBitmap複製drawable。
例如。
mutableBackground = backgroundImage.copy(Bitmap.Config.ARGB_8888, true);
其中backgroundImage是解碼的可繪製資源。
和..
mutableBackground = Bitmap.createBitmap(320, 480, Bitmap.Config.ARGB_8888);
gameCanvas = new Canvas();
gameCanvas.setBitmap(mutableBackground);
gameCanvas.drawColor(Color.GREEN);
和..
gameCanvas = new Canvas(mutableBackground);
如果我畫的渲染方法的線,它確實借鑑..但在黑色的背景。奇怪的是,如果我做
int myColor = mutableBackground.getPixel(100, 100);
int greeness = Color.green(myColor);;
Log.d(TAG, "Greeness - " + greeness);
日誌顯示.. Greeness - 255
因此,位圖被染成綠色,但它顯示爲黑色。 這真是困惑我,我必須真正很快排序了這一點。
感謝任何人,可以幫助。
感謝。我認爲我是通過發送畫布自己的位圖來做錯的。只是不能找出一種方法來引用它之後。 – Finn 2011-05-17 18:24:48
@Finn我很高興我們解決了您的問題;感謝您花時間接受我的回答。 :-) Android動畫不是微不足道的......我發現儘可能使用示例代碼作爲出發點很有幫助。關於我的頭,我能想到的最接近的東西就是SDK中的Lunar Lander示例。祝你好運! – 2011-05-17 20:35:47