2013-02-07 2 views
1

Я разрабатываю приложение для Android-игр, которое обеспечивает функцию отслеживания букв. Это первый раз, когда я работаю с графикой android. Я использую Canvas для своего приложения. Я хочу отображать пунктирную букву на холсте, которая позволяет пользователю трассировать буквы на экране. Для этого я создал изображения точечных букв и установил их в фоновом режиме.Построение точек на андроидном холсте

Теперь я хочу нарисовать точки на этом изображении пунктирной буквы на определенной (x, y) координате. Но проблема в том, что андроидный холст зависит от размера экрана. Поэтому мне придется масштабировать эти координаты (x, y) в соответствии с размером экрана. Я также ссылался на ссылку this, но не смог получить четкое представление.

Пожалуйста, помогите мне решить эту проблему. Спасибо.

+0

Я также хочу, чтобы функция отслеживания букв могла помочь мне? –

ответ

0

Сначала найдите высоту и ширину экрана.

int width = game.getWindowManager().getDefaultDisplay().getWidth(); 
int height = game.getWindowManager().getDefaultDisplay().getHeight(); 

Масштаб фона для покрытия экрана

Bitmap background_scaled=Bitmap.createScaledBitmap(background, width, height, true); 

Convert (х, у) -> (x_scaled, y_scaled)

int x_scaled=x*((float)width/(float)background.getWidth()); 
int y_scaled=y*((float)width/(float)background_getHeight()); 

Нарисуйте точку

canvas.drawPoint(x_scaled,y_scaled,new Paint()); 
Смежные вопросы