Я занимаюсь платформенной платформой с вертикальным прокруткой, и я хочу создать спрайты, которые перемещаются влево-вправо (или справа налево), и когда они выходят из экрана , они появляются с другой стороны.Цитирование бесконечно бесконечно в Cocos2D
У меня есть реализация, которая является в основном работает, единственная проблема состоит в том, что спрайты на одном этаже продолжает становиться все ближе и ближе в каждом цикле.
Я действительно плохо разбираюсь в вещах, поэтому please check this video.
Я использую следующий код, чтобы вычислить новое положение узлов:
pos.x = fmodf(size.width + pos.x + this->currentDir * this->speed * delta, this->len + size.width) - size.width;
len
ширин, после чего спрайт получает приложен к 0
(на самом деле -size.width
, что ширина спрайта), currentDir
либо 1
, либо -1
и delta
- время, прошедшее с помощью метода update().
Каждый спрайт позиционируется в собственном обновлении(), но я уже пробовал делать все в методе update() Scene, но результат был тот же.
delta - это время, прошедшее со времени предыдущего вызова обновления() в секундах – vsakos
Привет, я это понял. Я считаю, что одна из ваших переменных растет с течением времени больше, чем нужно, и я думал, что это может быть дельта, если вы не сбросите ее. Я предлагаю вам распечатать значения, которые у вас есть со временем, чтобы узнать, где проблема. – Felipe