2012-05-02 108 views
0

我试图取代标准的黑色背景,自定义图片,但我不确知我会如何实现它?背景图像使用onDraw画布?

代码(该方法的onDraw):

@Override 
    protected void onDraw(Canvas c) { 
     //c.drawARGB(255, 0, 0, 0); 

     if (overlay.tick()) 
      if (!todraw.tick()) 
       mintercept.endGame(); 
     todraw.draw(c, Layer.BACKGROUND); 
     todraw.draw(c, Layer.CITIES); 
     todraw.draw(c, Layer.TRAILS); 
     todraw.draw(c, Layer.EXPLOSIONS); 
     todraw.draw(c, Layer.MISSILES); 
     todraw.draw(c, Layer.CHROME); 
     overlay.draw(c, Layer.CHROME); 
    } 

    public abstract void reset(); 
} 

的注释行负责黑色背景(或者我相信...);空白区域保留用于我的自定义背景图像的实现。我该怎么做?

回答

0

画布有一个drawBitmap方法:从资源中使用BitmapFactory获取您的图像并绘制它,你应该很好去。

+0

似乎工作,但并非所有的图像都显示(好像它太大了;但实际上,它的大小与屏幕相同......)。它似乎也会降低仿真器的性能......是否会转化为物理设备? 感谢您的提示,顺便说一下。 – tadamson

+0

应该是合理有效的:模拟器非常慢。它应该呈现非常精确的大小:屏幕上可能出现边界/边距/填充问题? – Femi