CCParallaxNode довольно ограничен, потому что вы не можете указать бесконечную прокрутку параллакса без изменения класса.Это также не совсем подходит для вашего случая использования.
Использование четырех изображений 960x640 расточительно.Просто сделать несколько озер под фоном - это излишне и отрицательно скажется на производительности.
Решение немного зависит от того, насколько велики озера.Например, если они размером всего 1 или 3x3, вы можете добавить текстурированный спрайт под каждым озером.Если, с другой стороны, ваша мозаичная карта состоит в основном из нескольких узких путей, в то время как остальные представляют собой лавовые озера, вам нужен другой подход.
Возможно, вы захотите попробовать GL_REPEAT , чтобы повторить одинтекстура спрайта над определенной областью.Это позволяет вам использовать относительно небольшую текстуру, например 64x64, которая будет повторяться по указанному вами прямоугольнику.
Затем вы можете изменить позицию спрайта в каждом кадре для прокрутки текстуры.Каждый раз, когда спрайт перемещается на 64 пикселя в горизонтальном или вертикальном направлении, вы вычитаете 64 пикселя (sprite.contentSize.width) из позиции спрайта, чтобы вернуть его в исходное состояние.Это означает, что спрайт никогда не будет перемещаться дальше, чем на 64 пикселя от его исходного положения в любом направлении, но вы все равно получаете плавную прокрутку.