Я хочу создать случайный сплайн на моем экране. Вот то, что я до сих пор:Реализация сплайна Catmull Rom (LibGDX)
public class CurvedPath {
Random rn;
CatmullRomSpline<Vector2> curve;
float[] xPts;
float[] yPts;
Vector2[] points;
public CurvedPath(){
points = new Vector2[10];
rn = new Random();
curve = new CatmullRomSpline<Vector2>(points,false);
for(int i = 0 ; i < 10; i++){
xPts[i] = rn.nextFloat()*SampleGame.WIDTH;
yPts[i] = SampleGame.HEIGHT*i/10;
}
}
}
Я довольно запутался документации, которая была предоставлена о том, как использовать CatmullRomSpline
объект (https://github.com/libgdx/libgdx/wiki/Path-interface-&-Splines)
В основном то, что я я пытаюсь сделать здесь, генерирует 10 случайных точек, равномерно распределенных по высоте моего экрана, и случайным образом помещается вдоль ширины экрана для создания рандомизированного искривленного пути.
Итак, в цикле конструктора вы можете увидеть, что я генерирую значения x и y каждой контрольной точки для сплайна.
Как я могу ввести эти точки в объект сплайна и отобразить его на экране?
-Спасибо
обновление Позвольте мне перефразировать мой вопрос, чтобы быть немного более конкретно ..
Я мои контрольные точки представлены xPts
и yPts.
Теперь я хочу, чтобы получить очки, которые падают по сплайну, как это сделать, используя эти два вектора? Конструктор для CatmullRomSpline принимает Vector2
, а не два float[]
см. Мой отредактированный ответ –