magony.org
http://forum.magony.org/

Das Menü läuft bereits
http://forum.magony.org/viewtopic.php?f=22&t=1261
Seite 1 von 1

Autor:  Magony [ Fr 22. Mär 2013, 09:12 ]
Betreff des Beitrags:  Das Menü läuft bereits

Hallo Leute!

Um mich an das Projekt Tactical Dungeon Master heranzutasten, habe ich mich dazu entschlossen, zunächst ein kleineres Projekt zu realisieren. So ziemlich alles was ich im Laufe dieses Projektes entwickle, werde ich auch für TaDuMa gebrauchen können. Hier stelle ich euch eben die momentanen programmiertechnischen Highlights vor.


Klasse KeyEvents
XNA bietet leider nur den ButtonState Pressed und Released. Das hat zur Folge, dass sich das Menü pro Sekunde 30 mal öffnet und schließt, weil der Code 60 mal in der Sekunde aufgerufen wird und jedes Mal das Menü geöffnet oder geschlossen wird. Was es also noch brauchte waren zwei weitere ButtonStates: Gerade geklickt und gerade losgelassen. Das Realisiere ich in meiner KeyEvents-Klasse.

Klasse MouseEvents
XNA ist an sich auch für die Xbox360 entwickelt, deshalb mag man es vielleicht verzeihen, dass es keine Events wie MouseEnter, MouseOver, MouseLeave, MouseOut und MouseClick gibt. Ich brauche diese Events allerdings um mein Menü zum Laufen zu bringen und dafür habe ich die MouseEvents-Klasse entwickelt.

Klasse GameStates und Interface IGameState
GameStates dienen dazu dien Computer möglichst performant auf den richtigen Codepfad zu bringen, damit er nur das berechnet was er berechnen muss und nur das zeichnet, was zu zeichnen ist. Mein momentanes GameState-Konzept sieht das Interface IGameState und die statische Klasse GameStates vor. Dazu gesellen sich noch zwei statische Klassen Menu und Spielfeld. Genauer erkläre ich das in einem anderen Beitrag.

Programmbibliothek Network
Dies ist eine momentan sehr sporadische Programmbibliothek, die sich darauf beschränkt eine Verbindung zu einem Client aufzubauen, oder einen Host zu starten bzw. einen virtuellen Server. Sie ist bereits im Netzwerk und in einer VPN-Umgebung mit einem einfachen Chatprogramm getestet worden. Übrigens entwickle ich gerade EnergyBowl als GameTest in dem VS-Projekt dieser Programmbibliothek. Wenn EnergyBowl einen gewissen Entwicklungsstand erreicht hat, bekommt es sein eigenes VS-Projekt. Es sollte zunächst nur zum Testen dieser Programmbibliothek dienen und dann habe ich einfach mal weiter programmiert...

Das Menü
Die Menüs unten öffnen sich wenn die Maus sich über sie bewegt. Wenn man ein Untermenü (Ebene 2) anklickt, öffnet sich dessen Untermenü und die oberen Menüs der Ebene 2 verschieben sich nach oben. Wenn man mit der Maus sich außerhalb der Buttons der Menüspalte befindet, dann schließt sich das Menü automatisch. Offene Menüs verlieren ihre Farbe, die sie durch einen Rollover-Effekt bekommen haben, nicht. Die Untermenüs lassen sich auch über einen Klick wieder schließen. Dies tun sie auch, wenn dem ein anderes Untermenü öffnet. Das Fadenkreuz dient zur Markierung der aktuellen Mausposition.
Bild

Das Spielfeld
Oben links werden die Spielerpunkte und darunter die Teampunkte angezeigt. Im Spielfeld selbst von links nach rechts das aktuelle Level, Dauer bis zum Aufstieg des Levels, die Teamcombo und die Spielercombo. Im unteren Bereich sind die Schaltflächen für das Aktivieren von bestimmten Fähigkeiten zu sehen und die aktuelle Energie. In der Mitte sind zu Testzwecken ein Bowl und ein Stern gezeichnet. Der kleine Pfeil ist die Spielerfigur. Sie wird durch die Tasten WASD und mit Rechtsklicken gesteuert. Die Tastensteuerung läuft momentan noch nicht optimal, weil die Steuerungsbefehle auch über das Netzwerk übertragen werden müssen und durch die Latenz Sprünge entstehen, welche bei der Maussteuerung nicht auftreten. Gefeuert werden würde mit einem Linksklick.
Bild


Zu jeder dieser Highlights werde ich eben noch einen eigenen Beitrag ins Forum schreiben und sie zum Download anbieten. Dann werde ich mich wieder an die Arbeit machen und die Sandbox für den Einzelspielermodus entwickeln. Die Netzwerkversion dazu sollte morgen Abend bereits fertig sein und dann kommen die anderen Menüs dran. Ich hoffe, dass ich heute Abend bereits eine spielbare Version online stellen kann.

Schöne Grüße,
Magony

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/