2015-04-15 3 views
0

Я строю небольшую тестовую игру, в основном, где находится waldo. У меня есть большое изображение, которое я могу передвигать и искать Уолдо, но я не могу понять, как сохранить камеру в границах спрайтов (x, y). Прямо сейчас вы можете перемещаться мимо границ изображения и продолжать и продолжать навсегда.Пан в больших границах изображений с LibGdx

Соответствующий код:

sprite.setPosition(-sprite.getWidth()/2, -sprite.getHeight()/2); 

public boolean pan(float x, float y, float deltaX, float deltaY) { 
     camera.translate(-deltaX * PAN_SPEED, deltaY * PAN_SPEED); 
     camera.update(); 
     return true; 
    } 

там не так много, я пытался довольно много вещей, но проблема в том, что я не могу понять, как получить расстояние я приготовлена, и мне нужно что если я собираюсь поставить «границу». Прямо сейчас sprite.getX() == -2200), а окно просмотра камеры - только (480x800), поэтому мне трудно работать с размером изображения и окном просмотра, а также с расстоянием, которое было открыто.

ответ

0

Мне пришлось решить это раньше, но я сделал это очень несносно. В основном у меня был журнал, в котором я записывал положение текущей камеры, когда я подходил к нему. Когда я мог видеть край экрана (до пустого GL протираю под ним), я записал положение камеры.

Я закончил тем, что знал, что если camera.getX()> sprite.getWidth() - someVal, край будет отображаться на экране. Итак, я просто добавил метод, который обрезал любой X/Y val камеры, если он застрелил эти предопределенные границы.

Это не отличный ответ, но он также позволяет вам контролировать.

+0

По крайней мере, вы пытаетесь помочь. Я думаю, что это может заставить меня достаточно далеко, чтобы решить эту проблему, поэтому я соглашусь :) – WEDEBE

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