Hallöchen nochmal,
Gestern hatte ich mit dieser mousePressed()-Methode schon ein kleines Problem...Dies ist gelöst worden, aber leider habe ich da ein neues Problem: Wie man sieht, habe ich einen boolean "locked". Dieser soll eben dazu dienen, dass (da es sich um ein Menü handelt) die Maus nur auf den ersten Punkt des Menüs reagiert, wenn z.b. in menü 1 ein eintrag auf der selben koordinate liegt wie ein eintrag aus menü 2, welches aufgerufen wird NACHDEM der Eintrag im ersten Menü geclickt wurde. Lange Rede, kurzer Sinn: Funktioniert bei meiner bisherigen mousePressed()-Methode nicht, dass zweite menü (welches das zum beenden des spiels ist) wird sofort gecklickt, wenn man auf "Quit Current Game" clickt, was wieder zum hauptmenü führen soll.
hier die methode aus der KeyStates-Klasse:
Ich hoffe, mein Problem wird deutlich, eventuell stehe ich gerade auch nur auf dem Schlauch. Vielen Dank für Antworten...
P.S. es geht um ein GRAPHISCHES menü, nicht so eins wie in einer Windows App
Gestern hatte ich mit dieser mousePressed()-Methode schon ein kleines Problem...Dies ist gelöst worden, aber leider habe ich da ein neues Problem: Wie man sieht, habe ich einen boolean "locked". Dieser soll eben dazu dienen, dass (da es sich um ein Menü handelt) die Maus nur auf den ersten Punkt des Menüs reagiert, wenn z.b. in menü 1 ein eintrag auf der selben koordinate liegt wie ein eintrag aus menü 2, welches aufgerufen wird NACHDEM der Eintrag im ersten Menü geclickt wurde. Lange Rede, kurzer Sinn: Funktioniert bei meiner bisherigen mousePressed()-Methode nicht, dass zweite menü (welches das zum beenden des spiels ist) wird sofort gecklickt, wenn man auf "Quit Current Game" clickt, was wieder zum hauptmenü führen soll.
hier die methode aus der KeyStates-Klasse:
Java:
public void mousePressed(MouseEvent e) {
if (e.getButton() == 1){ //ist linke maustaste gedrückt
if (!locked){ //wenn die maustaste noch NICHT gedrückt ist
locked = true; //in jedem fall soll die maus gelocked werden
for (int i = 0;i<Screen.texts.length;i++){
if (Texting.mouseOver(Screen.mse,Screen.texts[i])){
switch(Screen.texts[i].getText()){
case "Start Game":
Screen.gameState = 1;
break;
case "Quit Game": //DIESER...
System.out.println(locked);
System.exit(0);
break;
case "Quit Current Game": //und DIESER überschneiden sich im spiel
Screen.gameState = 0;
break;
case "Continue":
Screen.gameState = 1;
break;
}
}
}
for(int j=0;j<Screen.soldiers.length;j++){
if (Soldier.overlaps(Screen.soldiers[j])){
if (!Screen.soldiers[j].selected){
Screen.soldiers[j].selected = true;
}
}
}
}
}
if(e.getButton() == 3){
for(int j=0;j<Screen.soldiers.length;j++){
if(Screen.soldiers[j].selected){
Screen.soldiers[j].selected = false;
}
}
}
}
Ich hoffe, mein Problem wird deutlich, eventuell stehe ich gerade auch nur auf dem Schlauch. Vielen Dank für Antworten...
P.S. es geht um ein GRAPHISCHES menü, nicht so eins wie in einer Windows App