Ergebnis 1 bis 10 von 10

Thema: Menüsteuerung reagiert "zu" langsam

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Menüsteuerung reagiert "zu" langsam

    Guten Abend!

    Ich bin grad auf einen Fehler bei einem Script für ein Zusatzmenü gestoßen.. Nun, Fehler ist vielleicht nicht ganz zutreffend - Auf jeden Fall reagiert das betreffende Menü zu langsam. Ich verwende das selbe Script für alle anderen Menüs in meinem Spiel und hab damit soweit keine Probleme, aber in dem Fall wird das Schalten vom 5ten Menüpunkt auf den 4ten Menüpunkt verzögert, wenn man vom 6ten Menüpunkt aus hinauf schaltet. Quasi 6 Menüpunkt -> 5 Menüpunkt -Verzögerung-> 4 Menüpunkt
    Das Problem tritt auf wenn man schnell hinaufschalten will, der Tastendruck auf den Pfeil nach oben wird einfach nicht bemerkt - erst beim zweiten mal. Wenn man die Sache langsamer angeht funktioniert alles.

    Aber lässt sich das ausbessern? Oder frisst mein Menüscript etwas viel Leistung?


    Der entsprechende Code(befindet sich in einem Parallelen Prozess):



    Geändert von Kyren (14.01.2010 um 15:40 Uhr)

  2. #2
    Menüs sollten am besten per Autostart-Event gesteuert werden und eine Schleife ist normalerweise nicht notwendig, weil Autostart- und Parallel-Process-Events sowieso in einer Schleife laufen. Ich lagere die Anzeige vom Menü immer in ein eigenes Event aus, aber bei deinen zwei Pictures reicht es vielleicht aus, die Anzeige an den Anfang zu packen. Mal in Pseudo-Code:

    Show Picture 9
    If Variable[5]=17
    ... Show Picture 10 an passender Stelle
    If Variable[5]=18
    ... Show Picture 10 an passender Stelle
    usw.
    Key Input Processing Variable[4]
    If Variable[4] = 1
    ... Variable[5]=Variable[5]+1
    ... If Variable[5] > 23 Variable[5] = 17
    If Variable[4] = 4
    ... Variable[5]=Variable[5]-1
    ... If Variable[5] < 1 Variable[5] = 23
    usw.

    Move Picture brauchst du übrigens nur, wenn sich das Bild wirklich bewegen soll. Bei einem Wait 0 bewegt sich das Bild natürlich nicht, also kannst du es auch gleich per Show Picture anzeigen.

  3. #3
    Was das Auslagern der Pictures angeht handhabe ich das bei dem vorhergehenden(größeren) Menü schon so, bei dem Zusatzmenü jetzt wollt ich mich erstmal darum kümmern dass Aufruf und Steuerung klappen - Das Ding wird ja noch mit (bis zu) 12 weiteren Pictures gespickt werden.

    Wie könnte ich die Steuerung der Menüs per Autostart handhaben?

    Falls es hilft: Bild des betreffenden Menüs. Im Hintergrund ist das größere, das Zusatzmenü wird aufgerufen wenn man rechts oben beim Header die Leertaste drückt - das Zusatzmenü dient zur Charakter und Bereichsauswahl.

    Danke dir schonmal für deine Hilfe und Zeit!

  4. #4
    Da hilft ein wait mit der Länge 0.0s (1 Tick) in der Loop-Scheife (am Anfang oder am Ende). Ich musste das bei meinem Menü auch machen .

  5. #5
    Hmm, bei mir erzielt das Wait leider nicht den gewünschten Effekt :/ Das Problem bleibt dasselbe^^

  6. #6
    Ein Autostart-Event läuft eigentlich genauso wie ein Parallel-Process-Event, nur dass nebenbei keine Tastatureingaben mehr registriert werden. Du rufst so ein Menü auf, indem du den Switch für das Event anschaltest und machst es wieder aus, indem du ihn abschaltest.

  7. #7
    Ah, danke für die Erklärung - Das hat auch ein anderes Problem gelöst Ich werd das und deinen Tipp bzgl. Bild anzeigen statt Bild bewegen(vielleicht hilfts was..) im Zuge der nächsten Tage mal auf alles in dem betreffenden Menü anwenden und dann wieder hier posten.

  8. #8

    Users Awaiting Email Confirmation

    Hilft zwar beim Problem nicht,aber deine Menüsteuerung ist ja ziemlich...aufwendig.

    Mach es doch so:

    If Key 1 is pressed
    <>Change Var. [Menünavigation] +1
    <>If Var. [Menünavigation] = 8
    <><>Change Var. [Menünavigation] set 1

    dasselbe mit 4 und minus 1.
    Ist um einiges sparsamer und einfacher.
    Dann einfach eine Abfrage
    If Key 5 is pressed
    <>If [Menünavigation]= 1
    <><>>Menüpunkt1<
    Else if
    If [Menünavigation]=2
    <>>Menüpunkt2<
    ...

  9. #9
    Ich konnte das Problem "beheben" in dem ich einfach das komplette Menü neu gebaut hab, der Code ist zwar weitestgehend der selbe, aber seltsamerweise funktionierts jetzt. Wahrscheinlich war vorher irgendeine Abfrage doppelt vorhanden oder ähnliches. Danke euch trotzdem für eure Hilfe!

    @Engel der Furcht , Danke für den Vorschlag, ich werd mich damit auseinander setzen bzw. das umsetzen sobald ich die ganzen Menüs soweit zum laufen gebracht hab - Zumindest ihre Funktionen. Sobald das alles funktioniert (so schlimm der Code auch im Moment sein mag..) Kann ich mich in aller Ruhe damit befassen das nochmal alles über den Haufen zu werfen :/

  10. #10
    Mein Vorschlag:


Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •