Котировки фильмов просто появляются случайным образом в быстрой последовательности, а не желаемым эффектом его вытягивания одной случайной цитаты из текстового документа.
В идеале я хочу, чтобы новая цитата появилась щелчком мыши.
Пробовал сделать массив и индексировать глобальную переменную, но затем текст по какой-то причине не будет отображаться.
PImage wallpaper;
void setup() {
size(600, 600);
wallpaper = loadImage("Theatrescreen.png");
}
void draw() {
background(wallpaper);
String[] moviequotes = loadStrings("moviequotes.txt");
int index = int(random(moviequotes.length));
text(moviequotes[index], mouseX, mouseY);
}
void mousePressed() {
}
Код в draw()
выполняется в бесконечном цикле. Думаю, это твоя проблема. См. Раздел Обработка справки - draw(). Чтобы решить эту проблему, рассмотрите возможность использования noloop()
. См. Раздел " Обработка справки" - noloop().
Вы генерируете новый случайный фильм, цитируя каждый цикл розыгрыша. Это означает, что каждая секунда (более 25 человек зависит от частоты кадров).
Вы можете установить частоту кадров следующим образом:
void setup() {
frameRate(1);
}
или добавьте счетчик к вашему циклу ничьей, чтобы вы генерировали новую цитату только раз в то время
Ваша реализация Random не верна. Попробуйте что-то вроде этого:
void draw() {
background(wallpaper);
String[] moviequotes = loadStrings("moviequotes.txt");
Random randIndex = new Random();
int index = randIndex.nextInt(moviequotes.length); // generate a random index from 0 to movieqoutes.length
text(moviequotes[index], mouseX, mouseY);
}
moviequotes
глобальными.