problem mit hspeed oder x

  • GM 8

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

  • problem mit hspeed oder x

    hi
    ich habe ein komisches problem
    mit allen meinen objecten ob es gegner (com.) sind oder spieler
    zu dem problem :
    ich kann nicht laufen
    wenn ich diesen code beim gegner usw. verwende:

    Quellcode

    1. if spieler.x>x //laufen
    2. hspeed+=5
    3. if spieler.x<x
    4. hspeed-=5

    bleibe ich stecken also kann der gegner sich nicht fortbewegen
    beim spieler nur mit springen
    und bein diesem code:

    Quellcode

    1. if spieler.x>x //laufen
    2. x+=5
    3. if spieler.x<x
    4. x-=5

    kann ich horizontal in die wand reinlaufen mit dem code da oben nicht
    der steh bleibe code:

    Quellcode

    1. if place_free(x+hspeed,y)==false //bei collision stehen bleiben
    2. speed=0
    3. if place_free(x,y+vspeed)==false
    4. speed=0
    5. if place_free(x+hspeed,y+vspeed)==false //nicht an ecken hängen bleiben
    6. speed=0


    ich hoffe ihr könnt mir folgen^^
    hoffentlich wisst ihr wo der fehler liegt
    (i hope it) :D
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Dein erster code weißt dem gegner keine geschwindigkeit zu, sondern beschleunigt ihn, und das ziemlich schnell.
    verusche

    GML-Quellcode

    1. hspeed = +5;

    etc.

    und dir fehlt die y bewegung.

    GML-Quellcode

    1. if place_free(x+hspeed,y)==false //bei collision stehen bleiben
    2. speed=0
    3. if place_free(x,y+vspeed)==false
    4. speed=0
    5. if place_free(x+hspeed,y+vspeed)==false //nicht an ecken hängen bleiben
    6. speed=0


    diesen code würde ich an deiner stelle komplett überabeiten. Er kann nicht an wänden entlang gleiten, und er wird in schräg lauf situationen hängen bleiben, bei denen er nciht hängen bleiben sollte, da gleich das komplette speed auf 0 gesetzt wird wenn er auf nur einer achse collidiert.