2012-05-02 2 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

The Canvas имеет метод drawBitmap: извлеките изображение с помощью BitmapFactory с ресурса и нарисуйте его, и вы должны быть хорошими.

+0

Кажется, что работает, но не все изображение отображается (как будто оно слишком большое, но на самом деле оно одинаково по размеру экрана ...). Это также замедляет работу в эмуляторе ... это перейдет на физические устройства? Спасибо за подсказку, кстати. – tadamson

+0

Должно быть достаточно эффективно: эмулятор довольно медленный. Он должен отображать практически точный размер: возможно, проблема с границей/маркой/дополнением на экране? – Femi

Смежные вопросы