-
Drachentöter
Schauen wir mal:
Denkanstoß für ein Itemmenü bestehend aus Pictures, in Reihe angeordnet, wie man sie besitze. Nicht besitzende Items werden nicht angezeigt...
Du Benötigst du für jede position im Menü, also z.B. du hast 20 Plätze frei, dann benötigst du 20 Variablen mit den jeweiligen Namen der positionen, also 1, 2, 3, 4 oder so weiter...
Diese variablen nehmen dann die Werte der Objekt ID an, die an diesen stellen liegen werden.
Dann benötigst du noch eine Varaibele welche den Aktuell letzt-besetzen Platz speichert, damit der maker weiß welche Stelle er als nächstes besetzen soll wenn ein weiteres Item dazu kommt.
Also nennst du die variable etwa "Freie_position" und das ganze = 0.
Also muss du zuerst einmal nun eine Fork-Abfrage machen, ob Objekt numero 1 (am besten die Objekte die in der Database zuerst kommen auch zuerst in der Reihenfolge abfragen, eventuell auch mit deren ID, damit es kein durcheinander gibt) vorhanden ist, also ob man das Item besitzt. Ist dies der Fall dann einfach die Variable "Freie_position" + 1, und die variable welche die Position 1 im Menü vertritt, den Wert 1, bzw. den Wert von der variable "Freie_position" zuweisen! Dann ist auf Platz 1 schonmal Objekt nurmero 1. Was genau das ist, also genau das bild zum Objekt 1 anzeigen, dass muss später per Common event ausgewertet werden, also dass wenn auf Platz 1 = Objekt 1 ist, dass dort dann auch das picture mit dem Bild oder dem Namen des Objektes erscheint. Zuerst aber muss die Möglchkeit gegeben werden, weitere Objekte hinzuzufügen. Also, Abfrage, ob Objekt numero 2 im besitz ist. Ist dies so, dann wieder wie oben die Variable "Freie_position" + 1 und der variable für Platz 2 im Menü den Wert für das objekt, also 2 zuweisen. Das ganze nun mit allen Objekten machen, sodass später jedes Objekt angezeigt werden könnte, da die ID's auf den positionen gespeichert werden.
Wenn das soweit fertig ist, muss natürlich noch das Menü selbst her. Erst einmal die Grafik, wenn das soweit passt, dann das Common event welches dann die ID's auswertet. Also, im Common event abfragen, ob Men-Platz1 = Objekt 1, dann mit "Picture ID#1" das erste Objekt auf der gewünschten Stelle anzeigen. Ist dies nicht der Fall, dann weiter die anderen 20 items oder wie viele du hast, durchprüfen. Das ganze musst du leider auch mit allen anderen positionen machen, was genau der Aufwand bei der Sache ist!
Allerdings musst du beim Prüfen von platz 2 nicht mehr das Objekt 1 prüfen, denn sollte es vorhanden sein so liegt es auf Platz 1, nicht auf 2... Sonst wäre ja eine Lücke, da das erste Objekt automatisch auf 1 liegen muss bei besitzen.
So musst du also nur die Objekte prüfen, die auf der Position liegen könnten, nicht die die eine höhere ID als die position im menü haben, die liegen, selbst wenn alle vorhanden wären, einige plätze höher!
Jetzt benötigst du 1 variable welche die Cursor Position speichert. Diese muss anfangs auf 1, da der Cursor auf der ersten position sein soll.
So, das ganze ist dabei der größte Aufwand. Dann fehlt aber auch noch das Menü selbser, dass man also einen Cursor hat der die Positionen durchgehen kann und auswählen kann. Also ein normales Menü mit "Enter Password" erstellen, sowass der Zeiger die Positionen der items auwählen "könnte"! Dann machst du bei jeder Bewegung des Zeigers einfach die Variable die die Cursor Position speichert entweder + oder - 1, je nachdem in welche Richtung man klickt. Das ganze musst du so anstellen, dass diese Variable die die Cursor Position speichert genau den gleichen Wert hat wie die Stelle des menüs anderm der Zeiger gerade ist. Also ist er auf 3, dann muss der zeiger auch tatsächlich über dem Item auf menü-platz 3 sein, so lässt sich dann nachher leichter berechnen welches Item angeklickt wurde.
Also, ein weiters common event, welches beim klicken aufgerufen wird. Dieses prüft, welches objekt sich an der Stelle wo geklickt wurde, befindet, und führt dann eben den Effekt aus, z.B. heilen oder sowas... (Auswerten der positionen einfach durch Fork, ob Cursor position = 1, also auf dem Menü-platz nummer 1, und dann, per Fork abfragen welches Item auf dem Platz 1 ist. Und dann eben der Effekt.)
So, wenn du das ganze jetzt nicht so genau kappiert hast wäre nicht so schlimm, das soll auch nur eine Denkhilfe sein! Das ganze zu machen ist saukomplex, soviel dazu. Einfachher wäre es zum beginn, wenn man nur ein item sehen würde, und dann per links oder rechts klicken rumschalten zu den anderen könnte. Das wäre weit weniger Code, da man nicht alle Positionen durchchecken muss, sondern eben nur eine mit allen Objekten, und nicht alle 20 Plätze mit allen 20 objekten... (20 als Beispiel genommen, bei mehr Objekten = mehr Arbeit)
ich empfehle also für den Anfang ein einfacheres Menü wo man zwar auch nur Objekte sieht die man hat, aber nur immer eines angezeigt wird, und die anderen durch durchschalten auszuwählen sind.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln