0 registered members (),
1,094
guests, and 1
spider. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Mehrere Buttons - Problem
#353401
01/09/11 21:05
01/09/11 21:05
|
Joined: Dec 2010
Posts: 66 München (Germany)
dice
OP
Junior Member
|
OP
Junior Member
Joined: Dec 2010
Posts: 66
München (Germany)
|
Nabend,
ich habe mehrere Buttons definiert, die auch gleichzeitig angezeigt werden sollen. Alle Buttons haben Bitmaps und Funktionen zugeordnet.
Wenn ich das Spiel starte, dann werden die BmapOn Bilder von allen Buttons dargestellt, jedoch nur ein Button reagiert (wechselt das Bild) und auch nur von diesem einen Button reagiert die zugeordnete Funktion. Die anderen Bilder reagieren garnicht, sei es BmapOver Anzeige oder Funktionsaufruf - Fehlanzeige.
In A6 hats funktioniert, hier in A8 gibs immer nur einen aktiven Button. Woran liegts?
Gruß, dice
EDIT: Gibt es Unterschiede zwischen set(bmap,VISIBLE); und set(bmap,SHOW); ??? Benutze noch ersteres...
Last edited by dice; 01/09/11 21:30.
|
|
|
Re: Mehrere Buttons - Problem
[Re: M4sterm1nd]
#353409
01/09/11 21:56
01/09/11 21:56
|
Joined: Dec 2010
Posts: 66 München (Germany)
dice
OP
Junior Member
|
OP
Junior Member
Joined: Dec 2010
Posts: 66
München (Germany)
|
PANEL* panel_zettel_tutorial =
{
layer = 21;
button (50, 50, zettel_tutorial_pcx, zettel_tutorial_pcx, zettel_tutorial_over_pcx, starte_tutorial(), NULL, NULL);
flags = OVERLAY,VISIBLE;
}
PANEL* panel_zettel_missionsmodus =
{
layer = 21;
button (250, 170, zettel_missionsmodus_pcx, zettel_missionsmodus_pcx, zettel_missionsmodus_over_pcx, show_hauptmenue_mm(), NULL, NULL);
flags = OVERLAY,VISIBLE;
}
PANEL* panel_zettel_endlosmodus =
{
layer = 21;
button (50, 300, zettel_endlosmodus_pcx, zettel_endlosmodus_pcx, zettel_endlosmodus_over_pcx, show_hauptmenue_em(), NULL, NULL);
flags = OVERLAY,VISIBLE;
}
PANEL* panel_zettel_speichern =
{
layer = 21;
button (300, 440, zettel_speichern_pcx, zettel_speichern_pcx, zettel_speichern_over_pcx, spiel_speichern(), NULL, NULL);
flags = OVERLAY,VISIBLE;
}
PANEL* panel_zettel_beenden =
{
layer = 21;
button (550, 430, zettel_beenden_pcx, zettel_beenden_pcx, zettel_beenden_over_pcx, spiel_beenden(), NULL, NULL);
flags = overlay,visible;
}
Diese Panels starten alle beim Spielstart. Jedoch reagiert nur der letzte Button "panel_zettel_beenden". Oh...da machts Klick ;D ...merks grad selber... Lösung:
PANEL* panel_hauptmenue =
{
layer = 21;
button (50, 50, zettel_tutorial_pcx, zettel_tutorial_pcx, zettel_tutorial_over_pcx, NULL, NULL, NULL);
button (250, 170, zettel_missionsmodus_pcx, zettel_missionsmodus_pcx, zettel_missionsmodus_over_pcx, show_hauptmenue_mm(), NULL, NULL); //show_hauptmenue_mm()
button (50, 300, zettel_endlosmodus_pcx, zettel_endlosmodus_pcx, zettel_endlosmodus_over_pcx, NULL, NULL, NULL);
button (300, 440, zettel_speichern_pcx, zettel_speichern_pcx, zettel_speichern_over_pcx, NULL, NULL, NULL);
button (550, 430, zettel_beenden_pcx, zettel_beenden_pcx, zettel_beenden_over_pcx, spiel_beenden(), NULL, NULL);
flags = OVERLAY,VISIBLE;
}
Scheinbar muss man alle Buttons, die momentan angezeigt werden, unter einem Panel schreiben, damit sie funktionieren. In A6 war das egal... Wieso kommt man darauf auch erst wenn man sowas gepostet hat?^^ Naja..schönen Abend noch!
|
|
|
Re: Mehrere Buttons - Problem
[Re: Ayumi]
#353420
01/09/11 23:19
01/09/11 23:19
|
Joined: Sep 2003
Posts: 6,861 Kiel (Germany)
Superku
Senior Expert
|
Senior Expert
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
|
button (550, 430, zettel_beenden_pcx, zettel_beenden_pcx, zettel_beenden_over_pcx, spiel_beenden(), NULL, NULL);
Du willst einen Funktions-Pointer dem Button zuweisen, aber du schreibst dort nur den Rückgabewert hinein (beachte die Klammern hinter deiner Funktion). Das heißt also, dass deine Funktion "spiel_beenden" heißt und NICHT "spiel_beenden()", letzteres ist ein Aufruf.
"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual Check out my new game: Pogostuck: Rage With Your Friends
|
|
|
|