Slick Buttons?
lima-city → Forum → Programmiersprachen → Java
bibliothek
bieten
button
code
delta
effekt
eigene buttons
einfache buttons
einfachen button
element
erstellen
fenster
glauben
input
machen
methode
nutz
parameter
vorstellung
zuviel
-
Beim Durchgehen eines Slick- Tutorials bin ich auf was grausames gestoßen.
Das Beispiel zeigt, wie man 2 einfache Buttons mit Hoovereffekt erstellt. Ich meine, wenn Slick schon das Programmieren von Spielen einfacher machen soll, wieso muss dann das Erstellen von einem einfachen Button so kompliziert sein?
Gibt es in Slick vielleicht einen besseren Weg eine Schaltfläche zu erstellen?
Input input = gc.getInput(); int mouseX = input.getMouseX(); int mouseY = input.getMouseY(); boolean insideStartGame = false; boolean insideExit = false; if( ( mouseX >= menuX && mouseX <= menuX + startGameOption.getWidth()) && ( mouseY >= menuY && mouseY <= menuY + startGameOption.getHeight()){ insideStartGame = true; }else if( ( mouseX >= menuX && mouseX <= menuX+ exitOption.getWidth()) && ( mouseY >= menuY+80 && mouseY <= menuY+80 + exitOption.getHeight()) ){ insideExit = true; } if(insideStartGame){ if(startGameScale < 1.05f) startGameScale += scaleStep * delta; if ( input.isMouseButtonDown(Input.MOUSE_LEFT_BUTTON) ){ sb.enterState(SlickBlocksGame.GAMEPLAYSTATE); } }else{ if(startGameScale > 1.0f) startGameScale -= scaleStep * delta; if ( input.isMouseButtonDown(Input.MOUSE_LEFT_BUTTON) ) gc.exit(); } if(insideExit) { if(exitScale < 1.05f) exitScale += scaleStep * delta; }else{ if(exitScale > 1.0f) exitScale -= scaleStep * delta; }
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Moin,
das Erstellen des Buttons ist ja auch simpel.
Wenn Du mal auf der Seite wo Du den Code her hast nach oben scrollst, siehst Du den "einfachen Weg", den Menüpunkt zu zeichnen.
Der Hover-Effekt ist nunmal komplizierter. Wenn Du es einfacher haben möchtest, bastel Dir eine eigene Hover-Effekt-Methode, die Deinen Vorstellungen entspricht. Es ist immernoch besser, weniger vorgeschrieben zu bekommen als zuviel, da Dir dann die Möglichkeit genommen wird, das Ganze auf sich selbst abzustimmen.
Gruß,
Pawnee
Beitrag zuletzt geändert: 29.11.2010 19:27:11 von pawnee -
Ich finde das nur etwas seltsam, dass man nicht einfach sagt, die Grafik ist ein Buttonobjekt, dann könnte man dem wie man es gewohnt ist einen Selectionlistener hinzufügen.
if( ( mouseX >= menuX && mouseX <= menuX + startGameOption.getWidth()) && ( mouseY >= menuY && mouseY <= menuY + startGameOption.getHeight()){ insideStartGame = true; }else if( ( mouseX >= menuX && mouseX <= menuX+ exitOption.getWidth()) && ( mouseY >= menuY+80 && mouseY <= menuY+80 + exitOption.getHeight()) ){ insideExit = true; }
Das ist ja eigentlich kein richtiger Button, sondern nur ein Bereich, in dem geklickt werden kann O_o. Hmm, vielleicht ist es nur in dem zweiten Tutorial so gemacht. Sonst wird es kompliziert, wenn man sich eigene "Buttons" machen muss :)
Kann man Slick irgendwie mit swt verwenden, also dass man sich ein Button Widget macht und dann irgendwie in das Slick-Fenster bekommt?
Wobei ich glaube, dass das gar nicht geht, da man die Actionevents irgendwie über den Parameter in der Update Methode bekommt. Glaub das sind garkeine Events, da wird bestimmt jede Aktion gepolt ^^.
Beitrag zuletzt geändert: 29.11.2010 21:01:03 von pixilab -
Mach dir halt ne Klasse draus, oder nutze eine GUI-Bibliothek für slick(such nach twl oder nifty).
Wenn du dir gui elemente selbst schreibst, sind sie natürlich extrem einfach und bieten auch wenig Funktionalität. -
GUI Elemente in Slick sind ja schonmal was. Wollte Slick schon als primitiv beschimpfen. Vielen Dank.
Wobei, vielleicht werde ich mir doch eine eigene Klasse machen, so viel Arbeit ist es ja nicht.
Beitrag zuletzt geändert: 29.11.2010 21:29:38 von pixilab -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage