PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Spezielles Quest-Menü



Davy Jones
15.11.2013, 14:36
Yau, ich plane ein Quest-Menü in welchem es egal ist, wann man eine Aufgabe angenommen hat:

- Aussehen: Ein Panorama mit 18 Kästchen, auf denen Bilder angezeigt werden sollen. Cursor inklusive.
- Nun kriegt man 18 Aufgaben. Wenn man Aufgabe 12 bspw. zuerst annimmt, erscheint es auch in Kästchen 1. Nimmt man Aufgabe 7 als zweites an, erscheint es in Kästchen 2, etc.
- In den einzelnen Kästchen erscheinen Pictures mit einer Szene der jeweiligen Aufgabe.
- Den Cursor um die Kästchen anzusteuern habe ich schon fertig. Der Cursor weiß zudem, wann er sich auf welchem Kästchen befindet.

So sieht das ganze in der Rohversion aus:

http://i.minus.com/j7npi5v45t3No.png

Die Bilder sind nur zu Testzwecken drin.

Meine Frage:
- Gibt es eine einfache Methode, um das zu bewerkstelligen? Etwa, indem man ganze Gruppen von irgendwas anpointert um sich das ganze so übersichtlich wie möglich zu machen?
- Ich hab zwar selber schon rumgetüftelt und etwas funktionierendes zustande gebracht, aber bei mehr als 100 Gegnern und 50 Quests ist die Fehlerwahrscheinlichkeit für jedes einzelne Kästchen einfach zu groß.

MagicMaker
15.11.2013, 15:32
Gib jedem Feld eine Var, die sagt, was sich da drin befindet und bastel dir ein CE zurecht, das auf Basis
einer Variable mit der Questnummer, die bei Annahme eingetragen wird, einen freien Platz dafür findet und
gegebenenfalls, wenn der Fall eintreten kann, vielleicht einen Switch umlegt, wenn rappelvoll ist.

Wenn du die Questsymbole entsprechend benennst, ist auch die Anzeige über PicPointer schnell gemacht.

Corti
15.11.2013, 15:35
Soll zu den Icons noch ein Text erscheinen, wenn man Enter klickt oder sowas?


Okey, du hast 18 Slots, die mit möglicherweise irgendwas belegt sind.
Ich empfehle, die Quests über eine ID zu identifizieren, also eine Zahl größer 0. Fang mit der 1 an und erhöhe.
Dann musst du selbstverständlich festhalten, welche Quest in welchem Slot ist.
Lege dazu 18 Variablen an, die als Block liegen, nicht verquer, keine Lücken, 1 bis 18 als Variablenblock.
Diese 10 Variablen sind erst einmal mit dem Wert 0 belegt d.h. "hier ist keine Quest drin"
Nun baust du einen Funktion, um eine Quest in das Grid einzutragen, und zwar als Common Event.

Die Funktion tut dabei folgendes:
Es wird nacheinander in jedem der 18 angelegten Variablenfelder geschaut, ob der Wert darin 0 ist
wenn der Wert in einem Feld 0 ist, dann schreibe dorthin die ID der Quest, die du dem Grid zufügen willst.
Auf die Weise wird jede Quest in das erste freie Feld eingeordnet

Die Pictures der Quests benennst du entsprechend ihrer ID ~ zum Beispiel

Quest_0000.png für "keine Quest in diesem Slot"
Quest_0001.png für Quest Nummer 1

Durch diese Benennung kannst du auf die Bilddaten deiner Quests durch den Picture Pointer Patch zugreifen
Nun musst du natürlich die Anzeige machen...das Hintergrundbild sollte kein Problem sein.
Die einzelnen icons anzeigen ist wiederum etwas komplizierter...

Du erstellt ein CE Namens "Zeige icons", in diesem CE baust du eine Schleife von 1 bis 18, VariableX = 1, // TUE WAS // wenn <18, erhöhe um 1 und springe vor das //TUE WAS// ~ sowas halt
anstelle des // tue was// rufst du einen weiteren CE auf Namens "Icon anzeigen"
Dadurch wird das CE jeweils einmal aufgerufen und beim Aufruf hat die variable X jeweils einen Wert zwischen 1 und 18. Auf Basis dieses Grid-Indexwertes kannst du dir nun aus dem variablenblock den Indexwert des Quest auf dem jeweiligen Slot holen
Die Koordinaten X und Y solltest du auch über einen extra CE machen. Konstruiere ihn so, dass du den Indexwert des Slots in eine Variable schreibst und nach dem CE in zwei anderen Variablen die X und Y-Werte des Slots sind. Was genau dieser CE tut musst du daran bestimmen, wie über dein Raster durchnummeriert werden soll

Der Cursor enthält einen aktuellen Index, und die Position kann auch durch den Koordinaten-CE für die Icons bestimmt werden
Dann brauchst du eine Hauptfunktion dafür...

Hintergrund laden
Alle icons laden
Cursor = 1
Cursor anzeigen
Tastendruck abfragen
drauf reagieren



Wenns hängt, sag bescheid, dann bau ich dir was.

Yenzear
16.11.2013, 14:10
Ist auf jeden Fall ne ziemlich gute Idee, aber wie sieht es aus, wenn z.B. die Slots 1-5 belegt sind und die Quest im Slot 3 gelöst wurde?
Rücken dann die Quests in den Slots 4 und 5 auf 3 und 4 ? Dürfte mit dem Maker auch irgendwie umzusetzen sein, ist aber nen ziemlicher Aufwand, glaube ich D:

Edit:
Mir ist spontan nen Einfall gekommen. kA, wegen Umsetzbarkeit oder Funktionalität, aber ich schreibs mal auf:
Es könnte abgefragt werden, ob ein Slot im entsprechenden Bereich frei ist (also mit 0 belegt ist) und falls ja, wird im Fall von Slot 3 die Quest ID von Slot 4 abgefragt und übernommen.
Slot vier erhält auf die Selbe Art dann die ID von Slot 5 und die von Slot 5 erhält die von Slot 6 (also 0). Das wiederholt man dann solange, bis man bei 18 angekommen ist.

Hoffe, es ist hilfreich °^°

Davy Jones
16.11.2013, 18:45
Die Quests sollen ja nicht aus dem Menü verschwinden, sonst weiß man nachher garnicht mehr was bereits erledigt wurde. Das wird dann wohl per Markierung gelöst, bspw. als separates Picture mit einer goldenen Krone wie bei Mario Galaxy 2.

@Corti: Hast Post =)

Quetschi
17.11.2013, 12:47
Hey,

mir war langweilig und ich hab da mal schnell was zusammengebastelt.
Ich weiß nicht ob du es noch brauchst, aber vielleicht ist es ja auch für den ein oder anderen interessant.

Der Download befindet sich hier (https://mega.co.nz/#!Pc5TSDhD!EEogs3Qy8_fJdlzqOUCPjhOgKWs9ois5qVVaIFd2xw4).