geschwindigkeit verändert, gegner läuft durch wand

  • GM 7

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • geschwindigkeit verändert, gegner läuft durch wand

    Hi ich hab da ein merkwürdiges probelm.

    mein gegnerobjekt hatte die geschwindigkeit von hspeed =+10
    bei einer kollision mit einem unsichtbaren klotz den ich aufgestellt habe ändert sich hspeed +10 in hspeed-10...
    so lief das gegnerobjekt immer hin und her... jetzt hab ich die geschwindigkeit aber verringert auf hspeed-8 und hspeed +8
    und der läuft einfach durch das begrenzungsobjekt durch...

    hiers der code... da ich hspeed im code berücksichtigt habe weiß ich nicht warum der durch das objekt durch läuft...

    GML-Quellcode

    1. //---geschwindigkeit+ richtung des gegners
    2. if(place_meeting(x+hspeed,y,obj_unsichtbare_wand)) &(hspeed=+8)
    3. {
    4. hspeed=-8;
    5. }
    6. if(place_meeting(x+hspeed,y,obj_unsichtbare_wand)) &(hspeed=-8)
    7. {
    8. hspeed=+8;
    9. }


  • Also mir kommt der Code schon richtig vor. Bist du sicher das du dich nicht irgendwo vertippt hast?

    Das einzige das mir ansonsten einfallen würde wäre dass es Probleme geben würde wenn der Block zu klein ist.
    Wenn er kleiner als hspeed ist und der Zufall es so will springt das Objekt praktisch durch den Block weil er in einem Step vor dem Block nach Kollision sucht und gleich dannach schon hinter dem Block ist.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • jop das gleiche hab ich auch gedacht das der einfach durchspringt, aber das ding ist ja das ich die geschwindigkeit verkleinert und nicht vergrößert habe...

    wo anders liegt der hund aber net begraben....
    wobei ich muss zugeben, mein obj_ ist schon rellativ klein... ich machs mal größer, aber ob des hilft...


    [edit 2]
    ich weiß worans lag sorry... ich hab im create event vergessen hspeed auf 8 zu setzen, so hat der die richtung nicht gewächselt, weil die if formel false ergeben hatte...

    :S Peinlich... sowas passiert aber auch immer mir :D


    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Gruen ()

  • Vieleicht hattest du davor sozusagen Glück dass das Objekt zufällig genau auf dem Block Kollision checkt, jetzt mit geringerer Geschwindigkeit verschieben sich die Punkte wo Kontrolliert wird und es funzt nicht mehr :/
    Aber das ist reine Spekulation xD

    EDIT: dann stimmt das wohl nicht :/
    Ich versuch mal deinen Code in einem kleinen Beispiel.

    EDIT2: Öhh, überprüf mal andere Teile deines Codes. vileicht gibt es irgendwas anderes was dein Objekt beeinflusst.
    In meinem Test funktiioniert der Code einwandfrei :/

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von DragonGamer ()

  • Benutzer online 1

    1 Besucher