PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Picture Menü????



RPG-Boy
18.03.2007, 11:24
Hallo erstmal alle!
Also ich probiere schon seit knapp 2 Jahren ein Picture Menü zu konstruieren aber nie klappt es, die Skripts versagen bei mir völlig, denn uch check die nicht, also wie bekommt dann soetwas zusammen???
(Üben, üben, üben hab ich schon probiert, also bitte keine Posts, wo dies drinnen steht)

Ps: diesen Post bitte nicht Canseln http://www.multimediaxis.de/images/smilies/old/sm_12.gif

blubm0jude http://www.multimediaxis.de/images/smilies/old/hell_yeah.gif

V-King
18.03.2007, 11:54
1. Welcher Maker? 2k(3) oder XP?
2. Das gehört in das dafür vorgesehene Technik-Forum :o *blowjobsmiley setz, weil ich so kluhk bin*
3. Falls es für den 2k(3)er sein sollte, fragt sich weiterhin noch, ob auch die Unterpunkte als Pictures dargestellt werden sollen. Das wäre aufgrund des Picture-Limits von 20 (beim 2k3er 40 bzw. 50) Pictures nicht möglich.

Falls die Unterpunkte auf verschiedene Maps aufgeteilt werden (empfohlen), könnte ich dir mal eben ein Skript hin kritzeln, das eigentlich funktionieren sollte.

RPG-Boy
18.03.2007, 13:48
Danke, aber ich meine den 2000er, danke trotzdem,Ps: (Wenn einer will, kann er den Post hier löschen)

V-King
18.03.2007, 15:27
Der 2000er und 2003er geben sich, was die Technik angeht, eigentlich nix, von daher kann ich mir auch mal eben n Skript aus der Nase ziehen:

Vorraussetzung ist natürlich, dass du mindestens mal ein Picture hast, wo die Menüpunkte drauf sind (bzw. die Menüpunkte als jeweils einzelne Pictures).
Und ein Picture als Cursor ist an sich auch praktisch.
Weiterhin brauchst du 2 verfügbare Variablen.
Und einen Switch/Tab/Schalter.
Und pro Menüpunkt eine Map, in der du den Menüpunkt dahinter natürlich visuell (also sichtbar) darstellst.
Zu guter Letzt brauchst du noch ein verfügbares Common Event.
Wichtig ist übrigens auch, wieviele Menüpunkte du hast. Ich werde dieses Skript jetzt einfach mal für insgesamt 5 Menüpunkte erstellen.

Soweit so gut, los gehts:

Benenne deine zwei Variablen "Tasten-ID" und "Cursorposition".
Benenne den Switch "Menü aufrufbar".
Öffne das leere Common Event und stelle es auf Parallel Process und mache rechts einen Haken, dass der Prozess nur durch den Switch "Menü aufrufbar" ausführbar wird.
Setze die Variable "Tasten-ID" auf 0.
Setze die Variable "Cursorposition" auf 0.
Mach eine Tastenabfrage, in der du die Escape-Taste abfragen lässt.
Lass den Wert in die Variable "Tasten-ID" speichern.
Mach einen Haken bei der Option hin, dass auf den Tastendruck gewartet werden soll.
Erstelle eine Fork Condition, in der die Variable "Tasten-ID" abgefragt werden soll, ob der Wert gleich 6 ist. (Aus Übersichtsgründen nenne ich diese Fork Condition mal die "Menü-Fork").


Erstelle Label 1.
Setze die Variable "Cursorposition" auf 1.
Lass das Menü-Picture an der Stelle anzeigen, wo du es haben möchtest.
Lass das Cursor-Picture so anzeigen, dass es auf den ersten Menü-Punkt zeigt (logischerweise).
Erstelle einen Cycle.


Erstelle in diesem Cycle wieder eine Tastenabfrage, in der diesmal JEDE Taste (also Pfeiltasten, Enter und ESC) abgefragt werden, wieder wartend darauf, dass die Taste gedrückt wird und lass natürlich den Wert wieder in die Variable "Tasten-ID" speichern.
Erstelle eine Fork Condition, in der abgefragt wird, ob die Variable "Tasten-ID" gleich 1 ist. (Ich bennene diese Fork nun mal "Taste 1".


Erstelle "Break Cycle".
Addiere zur Variable "Cursorposition" 1 dazu.
Erstelle eine Fork Condition, in der abgefragt wird, ob die Variable "Cursorposition" größer-gleich 6 ist.


Setze die Variable "Cursorposition" auf 5.
Bewege das Cursorpicture so, dass es auf Menüpunkt 5 zeigt.
Erstelle eine Fork Condition, die abfragt, ob die Variable "Cursorvariable" gleich 4 ist.

Bewege das Cursorpicture so, dass es auf Menüpunkt 4 zeigt.

[...]usw., das machst du für jeden Menüpunkt. Abfragen, welchen Wert die Variable hat und das Picture auf den entsprechenden Menüpunkt zeigen lassen.[...]
Erstelle "Go to Label 1".

Erstelle nun eine weitere Fork-Condition, die abfragt, ob die Variable "Tasten-ID" gleich 4 ist.


Break Cycle.
Ziehe von der Variable "Cursorvariable" 1 ab.
Erstelle eine Fork Condition, in der abgefragt wird, ob die Variable "Cursorposition" kleiner-gleich 0 ist.


Setze die Variable "Cursorposition" auf 1.
Bewege das Cursorpicture so, dass es auf Menüpunkt 1 zeigt.

Hier dann der gleiche Quatsch. Abfragen, wo der Cursor ist und ihn dann auf die richtige Position schieben.
Erstelle "Go to Label 1".

Erstelle eine Fork-Condition, die abfragt, ob die Variable "Tasten-ID" gleich 5 ist.


Break Cycle.
Setze den Switch "Menü aufrufbar" auf AUS.

Hier wirds etwas kompliziert zu erklären, aber ich versuchs trotzdem.

Erstelle insgesamt fünf Fork Condition, in denen jeweils die Variable "Cursorposition" abgefragt wird. In der ersten muss sie gleich 1 sein, in der zweiten gleich 2 usw.


Teleport zur der Map, die für den ersten Menüpunkt fungiert (z.B. das Item-Menü oder was auch immer du dir als ersten menüpunkt ausgedacht hast).


Teleport zur Map, die für Menüpunkt 2 verantwortlich ist.

Und so weiter.

Erstelle eine Fork Condition, in der abgefragt wird, ob die Variable "Tastenvariable" gleich 6 ist.


Break Cycle.
Lass das Menü auf die Weise verschwinden, wie du es dir gedacht hast.

Wait 0.1s


Das sollte eigentlich funktionieren.

Vergiss nicht, bei den Maps, die für die Menüpunkte verantwortlich sind, beim Verlassen den Switch "Menü aufrufbar" wieder auf AN zu stellen!

RPG-Boy
19.03.2007, 13:15
WOWOWOWOW!!!!:D
Währe alles ganz nett, aber ich hab schon seit längerem den Deutsch Patch für den 2000er, deswegen kenne ich mich mit den Englischen Vocabeln nicht ganz so gut aus...wenn du dies alles in deutsch umschreibst, bist du mein HELD!!!^^ (Wennst du es nicht schaffst, dann macht das alles auch nicht so viel)

ThePico!!!
19.03.2007, 20:41
Ich würde es doch lieber so machen....
(Ich poste mal die Grundfunktion, also Cursor bewegung und Aufruf)

1. Gehe in deine Database unter Common Events (Allgemeine Ereignisse oder so..), dann überlege dir wie

viele Auswahlmöglichkeiten dein Menü beinhalten soll , als Beispiel nehm ich mal 4.

2. Nun machst du 5 Einträge:

- Menü Aufruf
- Menü Punkt 1 ( Auswahlmöglichkeit)
- Menü Punkt 2
- Menü Punkt 3
- Menü Punkt 4

3. Beim Allgemeinen Ereignis "Menü Aufruf" stellst du ein: Parralleler Prozess
mit einem Swtich als bedingung. Dann füge eine "Taste Abfragen" mit 6 da es für
Esc steht und speichere diese Abfrage als Variable Z.B #5.(Vergiss nicht vorher das Standart Menü zu
deaktivieren.)Dann mach als Bedingung #5 gleich 6 und ohne Ansonsten Fall. Nun Kannst du deine Bilder
anzeigen lassen also die Schaltflächen und deinen Cursor, dann machst du einen Switch an z.b
"Menüpunkt 1" , danach deaktivierst du den Switch dieses Ereignises, da nun der Swtich für den Menü
Punkt 1 an ist.

4. Nun ist Menü Punkt 1 aktiv und somit die Grundlage für alle Menüpunkte und dieses Ereignis unter
Automatisch ablaufen lassen und als Bedingung Swüüütch "Menüpunkt 1" machen.
Nun erstelle 4 Bedingungen(oder mehr..) und frage wieder die Tasten ab,
Die erste Bedingung Variable #5 gleich 1 gleich, mit ansonsten fall.
Die 1 stellt die Bedingung dass die Taste PFEIL NACH UNTEN gedrückt werden muss, also hier mal
eine Darstellung:

- Variable der Tasten gleich 1= unten
- Variable der Tasten gleich 2= links
- Variable der Tasten gleich 3= rechts
- Variable der Tasten gleich 4= oben
- Variable der Tasten gleich 5= Enter
- Variable der Tasten gleich 6= ESC

mach so viele Bedingungen, von den Richtungen die du brauchst und mach alle miteinander in den

Ansonsten Fall.

5. Das ist das Ende. Nun kannst du in den Bedingungen der jeweiligen Tasten eine Funktion einfügen.
in 1-4 also Cursorverschiebungen, in 5 Enter(Bestätigung), in 6 den Aufruf zum verlassen des Menüs.
( der geht so: Alle Bilder löschen switch des jeweiligen Ereignisses deaktivieren dann den Switch
"Menü Aufruf" wieder an machen. Und um auf die anderen Menü Punkte zu kommen, machst du den gleichen wie
1 bloß mit einem anderen switch aufruf den du deaktivierst und wieder aktivierts, je nach dem welche Pfeilrichtung gedrückt wird. Bujakasha 8)

RPG-Boy
21.03.2007, 16:38
Cool freue mich schon richtig auf das! DANKEDANKEdankedanke...dankedank..

RPG-Boy
21.03.2007, 17:42
4. Nun ist Menü Punkt 1 aktiv und somit die Grundlage für alle Menüpunkte und dieses Ereignis unter
Automatisch ablaufen lassen und als Bedingung Swüüütch "Menüpunkt 1" machen.
Nun erstelle 4 Bedingungen(oder mehr..) und frage wieder die Tasten ab,
Die erste Bedingung Variable #5 gleich 1 gleich, mit ansonsten fall.
Die 1 stellt die Bedingung dass die Taste PFEIL NACH UNTEN gedrückt werden muss, also hier mal
eine Darstellung:



?????????BITTE nochmal und das mit dem "#5 stat 6 leuchtet mir auch nicht ganz ein, bitte nochmalhttp://www.multimediaxis.de/images/smilies/old/sm_12.gif

V-King
24.03.2007, 15:35
WOWOWOWOW!!!!:D
Währe alles ganz nett, aber ich hab schon seit längerem den Deutsch Patch für den 2000er, deswegen kenne ich mich mit den Englischen Vocabeln nicht ganz so gut aus...wenn du dies alles in deutsch umschreibst, bist du mein HELD!!!^^ (Wennst du es nicht schaffst, dann macht das alles auch nicht so viel)

Es kommt drauf an, welchen Deutsch-Patch du hast.

Wenn bei dir die Switches Schalter heissen, müsstest du den von RedBounty haben (den ich auch hab). Heissen sie Tabs, ist das der 0815-Deutschpatch den sonst jeder hat und da kann ich dir weniger dienen.

Deswegen denk dir einfach folgendes:

Switch = Schalter oder Tab
Variable = Variable
Fork Condition = Bedingung (oder auch einfach das IF-THEN-ELSE-Ding :D )
Cycle = Zyklus oder Schleife
Label = Label

Der Rest sollte eigentlich klar sein.

EDIT: Achja, vermeide bitte Doppelposts. Wenn du schon gepostet hast und dir ist noch schnell was eingefallen, benutze bitte den http://www.multimediaxis.de/layouts/rpg-atelier36/buttons/edit.gif-Button, um deinen Beitrag zu editieren.

RPG-Boy
04.04.2007, 17:21
ok ich hab den wo steht Tab!