В настоящее время я делаю 2D-игру на платформе run-n'jump с боковой прокруткой в PyGame.Большинство из них работает нормально и на самом деле очень хорошо - я использую быстрые объекты и группы pyGame Sprite.
Мне интересно знать, как люди обычно имеют дело с Rects для прокрутки игр.У меня, очевидно, есть уровень, который намного больше, чем видимая область, и у игрока, врагов, пуль и т. Д. У каждого есть свои (x, y) координаты, которые описывают, где они находятся на уровне.
Но теперь, так какмы используем вызов spriteGroup.draw (surface), он не будет отображать их в правильном месте, если каждый объект Rects не был настроен так, чтобы правая часть отображалась на экране.Другими словами, каждый раз, когда игрок / враг / пуля / что-либо еще обновляется, необходимо передавать информацию о камере, чтобы их Rect можно было обновлять.
Это лучший метод для использования?Это работает, но мне не очень нравится передавать информацию о камере каждому объекту при каждом обновлении, чтобы компенсировать Rects.
Очевидно, что идеальный метод (я думаю) - это использовать Rects с "реальными" координатами, блицвсе в буфере размером с уровень, а затем просто перетащите видимую часть на экран, но на практике это замедляет игру ОЧЕНЬ МНОГО.
Любые комментарии / идеи будут оценены.
Спасибо