0
我一直在解決這個問題一個星期了,而且我知道它非常愚蠢。當我在手機或模擬器上運行我的應用程序時,正在繪製的位圖重疊。對不起,我的語法和我的問題,但在這裏的代碼和模擬器的屏幕截圖。在畫布上繪製位圖重疊
//How I am rendering/drawing the bitmaps
public void render() {
if (gameHolder.getSurface().isValid()) {
gameCanvas = gameHolder.lockCanvas();
gameCanvas.drawColor(Color.BLACK);
int w = gameCanvas.getWidth();
int h = gameCanvas.getHeight();
Log.i("measure", w + " | " + h);
gameCanvas.drawBitmap(loadInBitmaps(1), (w/2), h/2, gamePaint);
gameCanvas.drawBitmap(loadInBitmaps(2), (w/2) + 32, h/2, gamePaint);
gameHolder.unlockCanvasAndPost(gameCanvas);
}
}
//How I am loading in the bitmaps
public Bitmap loadInBitmaps(int number) {
Bitmap loadedBitmap = null;
if (number == 0) loadedBitmap = null;
//UI Bitmaps
if (number == 1)
loadedBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.northbutton);
if (number == 2)
loadedBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.southbutton);
return loadedBitmap;
}
我想補充一點,我使用的是32 x 32的精靈。 – Bluel3ull
繪圖是否保存在特定的res文件夾?(hdpi/xhdpi ..?)。你可以打印什麼是loadedBitmap.getWidth()正確後,你實例化它的價值? – Gauthier
@ Gauthier我把圖像保存在默認的可繪製文件夾中,我覺得自己像個白癡不檢查位圖的大小。位圖返回48 x 48.您能解釋爲什麼它們會擴大嗎? – Bluel3ull