Я работаю над небольшой космической симуляцией с обработкой. В игре вы можете увеличить & вне Солнечной системы. Чтобы понять, что аккуратный эффект паралакса, я хочу, чтобы увеличить в случайно рожденных starky в фоновом режиме. До сих пор у меня все работает, но звездский увеличивает масштаб в верхнем левом углу. Я знаю, что мне нужно перевести начальную точку звезд на (ширина/2, высота/2), но я не могу понять, как я это делаю.Обработка: Перемещение центральной точки случайного Звездного поля в центр
Вот код:
int starCount = 1200;
float[] xStar = new float[starCount];
float[] yStar = new float[starCount];
float starSpread;
float zoom;
void setup() {
size(1600, 900);
frameRate(30);
calcStars();
zoom = 1;
}
void draw() {
background(#000000);
for(int i=0;i<starCount;i++){
fill(#fff7e6);
noStroke();
ellipse(xStar[i]*starSpread,yStar[i]*starSpread,1,1);
}
starSpread = 1+zoom*0.001;
}
void calcStars(){
for(int i=0;i<starCount;i++){
xStar[i] = -random(0-width);
}
for(int i=0;i<starCount;i++){
yStar[i] = -random(0-height);
}
}
void mousePressed(){
zoom = zoom - 1;
}
(Нажмите мышью на «увеличение» из < - Я хочу, чтобы звезды, чтобы перейти к середине, не в верхнем левом углу!)
Итак, у меня есть 2 массива, дающих мне 1200 случайных координат в окне. «zoom» - это простой поплавок, который управляется слайдером. Эта переменная контролирует распространение всего содержимого. Он усваивается на 0,001, чтобы немного повлиять на мои звезды.
Теперь может кто-нибудь помочь мне сделать масштаб, как я его намерен?
Заранее благодарен!
Этот код не компилируется для меня - вам не хватает нескольких закрывающих скобок? –
Прости, да, у меня были проблемы с реализацией браузера. это сработает. Но слайдер не в нем из-за недостающей библиотеки. (отредактировал сообщение) – ThatGuyNextDoor
/изменить щелкнув мышью несколько раз будет «увеличивать» его, чтобы увидеть, что я имею в виду – ThatGuyNextDoor