Aktion aufteilen führt zu falschen Werten

  • #1, by UnratWednesday, 19. February 2014, 10:27 11 years ago
    Hallo zusammen!
    Bei der Arbeit an meinem Projekt bin ich auf ein Problem gestoßen, das ich mir nicht erklären kann. Ich versuche, es möglichst einfach darzustellen. Hoffentlich könnt Ihr mir helfen.

    Reproduktion:
    - Erstelle folgende Werte:
    a = 0 | b = 0 | c = 10 | x = 50 | y = 30 | z = 100
    - Erstelle einen Objekttext, der die Werte im Spiel anzeigt
    - Starte das Spiel
    - Die Werte sind korrekt
    - Erstelle eine Aktion 1:
    a = x
    b = y
    a – b
    c = a
    z – c
    Objekttext aktualisieren

    - Starte das Spiel
    - Starte Aktion 1
    - Die Anzeige lautet:
    a: 20 | b: 30 | c: 20 | x: 50 | y: 30 | z: 80
    - Das ist korrekt
    - Erstelle eine Aktion 2:
    a – b
    c = a

    - Ändere Aktion 1 in:
    a = x
    b = y
    Aktion 2 starten
    z – c
    Objekttext aktualisieren

    - Starte das Spiel
    - Starte Aktion 1

    Erwartet:
    - Die Anzeige lautet immer noch:
    a: 20 | b: 30 | c: 20 | x: 50 | y: 30 | z: 80

    Stattdessen:
    - Die Anzeige lautet:
    a: 20 | b: 30 | c: 20 | x: 50 | y: 30 | z: 90
    - Wiederhole Aktion 1
    - Die Anzeige lautet:
    a: 20 | b: 30 | c: 20 | x: 50 | y: 30 | z: 70

    c hat zwar den Wert 20 angenommen, doch von z wurden trotzdem nur 10 abgezogen, was dem Startwert von c entspricht. Nach Wiederholung von Aktion 1 werden jedoch korrekt 20 abgezogen.

    Besten Dank im Voraus! smile

    Newbie

    9 Posts


  • #2, by saymnWednesday, 19. February 2014, 10:37 11 years ago
    Also. Startest du denn Aktion 2 nach dem Spielstart nicht nochmals?
    Das wäre dann ja z-c (80-20).
    Ich sehe aber nicht, dass Aktion 2 nach dem Spielstart ausgeführt wird.
    Wenn ich das mal so richtig verstanden habe^^

    Newbie

    36 Posts

  • #3, by UnratWednesday, 19. February 2014, 10:41 11 years ago
    Aktion 1:
    a = x
    b = y
    Aktion 2 starten
    z – c
    Objekttext aktualisieren

    Aktion 2:
    a – b
    c = a

    Meinst Du das?

    Newbie

    9 Posts

  • #4, by saymnWednesday, 19. February 2014, 10:44 11 years ago
    du hast ja in Aktion 2 denn wert "z-c" Richtig?
    Und "z" sollte jetzt am schluss 60 betragen?

    Newbie

    36 Posts

  • #5, by UnratWednesday, 19. February 2014, 10:45 11 years ago
    Nein, "z - c" wird wieder in Aktion 1 ausgeführt, nachdem Aktion 2 fertig ist. Aktion 2 ist somit ein extrahierter Teil von Aktion 1.

    Newbie

    9 Posts

  • #6, by saymnWednesday, 19. February 2014, 10:47 11 years ago
    Ich hatte solche ähnlichen Probleme. Mir haben eingefügte Pausen manchmal geholfen. Ich weiss nicht, ob es bei dir daran liegen könnte.

    Newbie

    36 Posts

  • #7, by UnratWednesday, 19. February 2014, 10:50 11 years ago
    Danke, ich versuch's mal!

    Newbie

    9 Posts

  • #8, by saymnWednesday, 19. February 2014, 10:51 11 years ago
    Ich hab mal nachgerechnet. Eigentlich müsste es von der Aufstellung her stimmen. Aber ich denke Pausen könnten das Problem beheben.

    Newbie

    36 Posts

  • #9, by UnratWednesday, 19. February 2014, 10:53 11 years ago
    Ich habe nach "Aktion 2 starten" eine 1 Millisekunde-Pause in Aktion 1 geschrieben und es funktioniert! Vielen Dank! grin

    Newbie

    9 Posts

  • #10, by saymnWednesday, 19. February 2014, 10:55 11 years ago
    Jep. Dachte ich mir. Ich hatte ein ähnliches Problem mit dem umstellen der Schriftart. 1ms pause eingefügt und voilà.

    Newbie

    36 Posts