Я создаю игру с использованием libgdx, и я использую сцену и актеры для сущностей внутри игры. но проблема в том, что я не могу держать актера внутри сцены или экрана. когда я перетаскиваю актер в самый низкий, самый высокий, самый левый или самый большой экран, он выходит из экрана. Я хочу, чтобы он оставался внутри экрана.Как сохранить актера внутри сцены в libgdx?
Что мне делать? пожалуйста помоги.
это полоса коды я использую для перетаскивания моего актера
addListener(new DragListener(){ @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { camera.unproject(dimension.set(x, y, 0)); System.out.println("clicked "+ x +","+y); return true; } @Override public void touchDragged(InputEvent event, float x, float y, int pointer) { moveBy(x-(getWidth()/2),y-(getHeight()/3)); } @Override public void touchUp(InputEvent event, float x, float y, int pointer, int button) { super.touchUp(event, x, y, pointer, button); } });
Вы можете «держите его« внутри »« Этап », поскольку« Этап »не имеет размера, насколько я помню. Также держать его внутри «Экран» как-то проблематично, подумайте о движущейся «Камере». Итак, что вы должны сделать, это определить размер мира и ограничить позицию «Актера» до такого размера. Затем вы должны создать «Камера» или даже лучше «Viewport» (это другая тема, охватываемая многими учебниками) с размером вашего мира. Теперь центрируйте «Камера», чтобы вы могли видеть именно ваш мир на «Экран». – Springrbua
Подумайте о том, как держать его в пределах камеры. Зажмите положение перемещения, чтобы сохранить целевое местоположение в позиции камеры +/- camera.viewportWidth и Height. – Tenfour04
, поэтому у меня есть камера и видовое окно, но как установить размер в мире? пожалуйста, помогите .. как я могу это ограничить? – ItumNgaIring