Ergebnis 1 bis 8 von 8

Thema: Menüanzeige - Bedingung in Bedingung: HILFE

  1. #1

    Menüanzeige - Bedingung in Bedingung: HILFE

    Hallo Zusammen,

    ich habe nun mehrere Stunden versucht eine Bildanzeige in meinem Achievement-Menü hinzubekommen und
    brauche jetzt wirklich mal Hilfe. Ist glaube ich hab` ein Verständnisproblem...

    Es geht um folgendes:
    Ich benutze ein Common-Event um verschiedenste Bilder für das Menü darzustellen.

    Hier ist zum einen jeweils eine Variable oder Switch für die Anzeige von Icons:

    Klicke auf die Grafik für eine größere Ansicht 

Name:	Icon-Anzeige.png 
Hits:	35 
Größe:	46,4 KB 
ID:	22316


    Und eine Variable für die Anzeige eines Cursors.
    Hier möchte ich eine weitere Bedingung einfügen. Heißt:
    Wenn cursor-Position xy + variable oder switch aktiviert; dann soll completed-Bild angezeigt werden, ansonsten looked-Bild.

    Soweit die Theorie...
    So habe ich es versucht und so funktioniert es nicht. Anbei die Bilder!!
    Wenn hier z.B. die Variable2 auf Wert 2 steht funktioniert die erste Anzeige Wert >1 schon nicht, es wird kein completed-Bild angezeigt obwohl
    die Bedinung doch erfüllt sein müsste...:

    Klicke auf die Grafik für eine größere Ansicht 

Name:	Anzeige-Blauer-Cursor+completed.png 
Hits:	26 
Größe:	46,3 KB 
ID:	22317

    Klicke auf die Grafik für eine größere Ansicht 

Name:	Anzeige-Blauer-Cursor+completed-icon2.png 
Hits:	20 
Größe:	46,6 KB 
ID:	22318



    Ich hoffe es ist halbwegs verständlich und jemand kann mir auf die Sprünge helfen.
    Vorab vielen Dank.

    Euer Memorazer

  2. #2
    Okay, beim Beispiel oben sagst du, dass Variable 2 auf 2 steht.
    Steht Variable 1 denn auch auf 1?
    Und wird gar nichts angezeigt, oder wird das "locked" Bild angezeigt?

    Edit:
    Was auf dem ersten Bild auch komisch aussieht, dass du abfragst ob Variable größer gleich X und die anschließnenden Abfragen unabhängig davon gestartet werden.
    Wenn die Variable bspw. 99 ist, treffen alle Abfragen zu - das ist nicht so gewollt oder?

    Würde hier empfehlen "==" als Bedingung zu verwenden (oder ist das nur ein Schreibfehler bei den ersten 3 Bedinungen?).
    Oder alternativ absteigend sortiert mit Else arbeiten (If Var >= 99 Dann [...] ELSE If Var >= 98 ...)

    Geändert von Linkey (19.05.2015 um 23:04 Uhr)

  3. #3
    Also Variable 1 gibt es hier gar nicht...

    Etwas habe ich möglicherweise noch vergessen.
    Bei variable 2 geht es um den "Story"-Verlauf.
    Um da Bilder zu sparen werden hier mehrere Icons über ein Bild angezeigt.

    Ist es nicht so das bei meinem Versuch zuerst die Cursor-Position abgefragt wird und danach variable 2?
    Dann wären nicht alle Abfragen gleichzeitig erfüllt sondern erst nach Positionswechsel.

    Das >= ist auch Absicht, da die Variable 2 ja steigt...
    == kann ich hier nicht benutzen.

    Und doch, mit der Zeit sollen alle Abfragen v. Variable2 erfüllt sein.

  4. #4
    Vielleicht wäre es besser, Anzeige und Bedienung des Menüs voneinander zu trennen oder soll sich der Held gleichzeitig bewegen können? Du hast im Code ja Abfragen der Richtungstasten, die dann anscheinend das Menü weiterschalten. So was würde ich in ein Autostart-Event packen.

    Die Abfrage ist aber in Ordnung. Kann es sein, dass du irgendwo im Code ein Variable 98 >= x hast anstelle eines Variable == x? Vielleicht hinter dem Fall mit Variable 98 == 2.

  5. #5
    Steigt die Cursorposition? Wenn ja dann würde ich lieber auch == machen.
    Habe ich ebenfalls in meinem Menü gemacht und das funktioniert wunderbar.

  6. #6
    Zitat Zitat von Memorazer Beitrag anzeigen
    Also Variable 1 gibt es hier gar nicht...

    Etwas habe ich möglicherweise noch vergessen.
    Bei variable 2 geht es um den "Story"-Verlauf.
    Um da Bilder zu sparen werden hier mehrere Icons über ein Bild angezeigt.

    Ist es nicht so das bei meinem Versuch zuerst die Cursor-Position abgefragt wird und danach variable 2?
    Dann wären nicht alle Abfragen gleichzeitig erfüllt sondern erst nach Positionswechsel.

    Das >= ist auch Absicht, da die Variable 2 ja steigt...
    == kann ich hier nicht benutzen.

    Und doch, mit der Zeit sollen alle Abfragen v. Variable2 erfüllt sein.
    Sorry, mit Variable 1 meinte ich Variable 98. Bezog mich bei der Namensgebung nicht auf die Tatsächliche Nummer, sondern auf die Reihenfolge.

    Die >= Abfragen bezog auf den ersten Screenshot. Hier würde beim Wert 5 z.B. die Bedinungen ">=1" & ">=2" & ">=3" und "==5" erfolgen. Dadurch würde 5 mal das Bild mit der Nummer 55 geändert werden. Hier würde ein "==" mehr Sinn machen.
    Wollte nur darauf hinweisen, dass diese Abfragen in dem Zusammenhang dann unnötige Aktionen durchführen.

    Wenn jetzt diese Abfragen immer innerhalb einer eindeutigen Abfrage sind (wie das Beispiel in deinen beiden anderen Screenshots), dann passt das ganze wieder.

    Ansonsten sehen deine Abfragen auf dem Screen logisch aus und sollten erfüllt werden. Was du zum Testen einmal machen könntest, wäre die Werte der Variablen über eine Textbox (oder alternativ über die Konsole auszugeben, um zu schauen, ob die Variablen auch richtig gefüllt werden).

    Per Skript bspw. einfach
    Code:
    p("V98:" + $game_variables[98].to_s + 
    "|V2:" + $game_variables[2].to_s)
    einfügen.

  7. #7
    @Perusa:
    Ja, die Cursorposition steigt bei Positionswechsel. Die Variable wird mit == abgefragt.
    Nur die zusätzliche Variable für die completedanzeige müsste >= bleiben und sollte richtig sein...


    @Kelven: Ich weiß nicht ob eine Trennung hier sinnvoll ist könnte man aber vielleicht wirklich machen.
    Ich könnte ja ein weiteres Commonevent mit gleicher Bedingung erstellen. Ist ne Idee...

    Der Character ist übrigens unsichtbar und bewegt sich garnicht. Es wird hier nur die Taste abgefragt nicht die Bewegung d. Charakters.

    @Linkey:
    Also was ich schon immer mache ist mit F9, den Wert der Variablen zu prüfen... und die stimmen auch...


    @All:
    Ich werde mir das ganze demnächst nochmal anschauen.

    Erstmal vielen Dank. So ganz falsch scheint die Abfrage ja nicht zu sein. Befürchte ein bischen das es einfach andem Ace liegt... Mal schauen...

  8. #8
    Sonst poste einfach das gesammte CE. Falls dort wirklich irgendwo ein Fehler vorhanden sein sollte, sollte man diesen auch leicht erkennen.

    Was mir sonst noch spontan einfällt, ohne alles zu kennen, was bei dir läuft:
    - gibt es Scripts/ andere CEs die die Variablen ändern?
    - gibt es Scripts/ andere CEs die das Picture 98 ändern?
    - liegt Picture 98 vll. zufällig unter einem anderen?

    Edit:
    Bezüglich 2 Events:
    Im Falle, dass du die Bewegungssteuerung in ein extra Event packst, wäre die Frage, ob du das andere Event dann nicht einfach auch als Call-Event verwenden könntest. Das müsste dann ja eigentlich nicht mehr als Paralleles Event durchlaufen, sondern immer nur dann, wenn sich durch einen Tastendruck etwas geändert hat.

    Edit 2:
    Habe das Event so nachgebaut, soweit die 2 Abfragen angezeigt werden und es funktioniert.

    Geändert von Linkey (21.05.2015 um 18:10 Uhr)

Berechtigungen

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