Как сбросить координаты, если они пересекают пределы плавающей запятой в бесконечно работающей игре в libgdx

Я новичок в мире libgdx, я разрабатываю бесконечную игру. Мне любопытно узнать, если игрок работает в течение нескольких часов, и его позиция продолжает меняться, скажем, его значение x многократно увеличивается, то что произойдет, если позиция пересечет пределы плавающего максимума. Некоторые из обсуждений предполагают, что нам нужно сбросить координаты через определенные моменты времени http://answers.unity3d.com/questions/491411/best-practices-for-endless-runner-type-games.html. Но я не уверен, как добиться этого в libgdx.


person Surya    schedule 27.10.2015    source источник
comment
если вы просто увеличите его на единицу, а затем, если у вас будет FPS 60, то я скажу, что, вероятно, много времени, прежде чем это произойдет, просто посчитайте, результат заставит вас чувствовать себя хорошо, поверьте мне, даже я удивлен   -  person Kumar Saurabh    schedule 27.10.2015
comment
Вы генерируете уровень сразу за краем экрана? Как вы сейчас делаете его бесконечным? Зацикливание определенных плиток?   -  person DoubleDouble    schedule 28.10.2015


Ответы (1)


Каким бы ни был ваш метод поддержания уровня «бесконечным» (фактически не используя «бесконечную» память), вы можете связать «сброс» вашего персонажа и положения уровня наиболее удобным образом.


Во многих случаях вашему персонажу даже не нужно «на самом деле» двигаться — уровень может просто двигаться мимо него влево… подобно тому, как люди используют беговую дорожку для бега, но на самом деле они остаются на месте. Уничтожайте части, которые перемещаются за пределы экрана влево, и держите их справа.

В качестве альтернативы, персонаж может бежать, и в какой-то удобный момент вы можете переместить весь уровень и персонажа обратно в исходное положение, и никто не будет мудрее. Просто это должно произойти "все сразу", без физических методов перемещения и для каждой позиции, которую вы сохраняете. На более медленных устройствах, в зависимости от количества объектов, которые вы должны переместить, это может привести к задержке на один кадр... так что используйте с осторожностью.

person DoubleDouble    schedule 28.10.2015