Я очень новичок в программировании и сейчас пытаюсь сделать простую игру для Android. Проблема в том, как прокручивается вид. По моей логике я считаю, что спрайт должен оставаться в центре экрана, но это не так. Представление следует за спрайтом, но не с той же скоростью, если это имеет смысл. По виду вид отстает. Это не нервный, поэтому я знаю, что он не работает медленно. Что меня удивляет, так это то, что я устанавливаю прямоугольник прокрутки равным местоположению игрока x - ширине экрана, а затем то же самое для оси y. Так что я надеюсь, что вы, ребята, сможете мне помочь, это выяснить, почему спрайт не остается в центре представления. Любая помощь будет оценена.
Спасибо.
private static Rect displayRect = null; //rect we display to
private Rect scrollRect = null; //rect we scroll over our bitmap with
Display display = getWindowManager().getDefaultDisplay();
displayWidth = display.getWidth();
displayHeight = display.getHeight();
displayRect = new Rect(0, 0, displayWidth, displayHeight);
scrollRect = new Rect(0, 0, displayWidth, displayHeight);
// Установка нового верхнего левого угла прямоугольника прокрутки
newScrollRectX = ((int)player.getXLocation() - (displayWidth/2));
newScrollRectY = ((int)player.getYLocation() - (displayHeight/2));
// Это мой метод onDraw, поэтому он обновляется прямо перед тем, как игрок получает
scrollRect.set(newScrollRectX, newScrollRectY,
newScrollRectX + displayWidth, newScrollRectY + displayHeight);
// bmLargeImage - это фон 1440X1440
canvas.drawBitmap(bmLargeImage, scrollRect, displayRect, paint);
canvas.drawBitmap(player.getBitmap(),(float)player.getX(player.getSpeedX()), (float)player.getY(player.getSpeedY()), null);