я работаю над игрой в последнее время. Сейчас я пытаюсь создать главное меню, которое будет сосуществовать и работать вместе с моей игрой. Я столкнулся с проблемой, к сожалению. Я сделал таймер «задержки», который удаляет здоровье у игрока, и таймер для босса, с которым вы сражаетесь, чтобы босс мог прыгать по полю битвы после определенной задержки / таймера. это работало нормально, пока я не попытался реализовать главное меню. Когда я ввел меню, я сделал это так, что если вы нажмете «p», вы попадете в игру и запустите функцию «draw», в которой есть игра, и только тогда она должна запустить задержку / таймер, состоящий из 5000 мс. Проблема возникает, когда я пытаюсь поместить «задержку» внутрь части, в которой есть игра, задержка не сработает, но если я верну ее туда, где она была у меня впервые, что было в части «Настройка», она работает только то, что вместо этого запускается таймер, как только запускается программа, а не сама игра. вот мой код:
void Startmeny() {
textSize(70);
text("Jackan Heroes!", 300, 300);
fill(255, 255, 0);
textSize(40);
text("Start", 350, 400);
fill(255, 255, 0);
textSize(40);
text("Creatorer", 350, 500);
fill(255, 255, 0);
if (keyPressed) {
if (key == 'p' || key == 'P') {
start = true;
}
}
}
void draw() {
textSize(70);
text("Jackan Heroes!", 200, 300);
fill(255, 255, 0);
textSize(40);
text("Start - press 'P' ", 250, 400);
fill(255, 255, 0);
textSize(40);
text("Creatorer - press 'O' ", 250, 500);
fill(255, 255, 0);
if (keyPressed) {
if (key == 'p' || key == 'P') {
start = true;
}
}
if (start == true) {
background(100);
int rT = 255;
_delay = new Delay(5000);
g.display();
g.checkEdges();
g.BarsDisplay();
g.HealthDisplay();
g.XpDisplay();
f.detect();
f.Enemy();
f.HealthDisplay();
f.dead();
if (g.intersects(D)) {
D.transport();
}
if (f.HP > 0) {
if (g.intersects(f) /*|| g.Intersects(f)*/ ) {
if (_delay.expired()) {
g.RemoveHealth();
_delay = new Delay(1200);
}
//g.knockback();
//f.chase();
}
}
if (g.intersect(f)) {
if (!g.alreadypressed) {
f.damage();
textSize(32);
text("-8 ", f.x2 + 50, f.y2 - 40);
fill(0, 102, 153);
}
g.alreadypressed = true;
}
if (_delay.expired()) {
if (f.yes == true) {
float R = random(100, 700);
f.x2 = R;
f.xd = f.x2 + 50;
float R2 = random(100, 700);
f.y2 = R2;
f.yd = f.y2 + 50;
_delay = new Delay(3000);
}
}
некоторые из кодовых названий приведены на шведском sh, так что плохо переведу важное. startmeny = "меню", если есть больше, вы не понимаете плохо перевести их. :)