Problem mit vspeed = 0.5/-0.5

  • 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 vspeed = 0.5/-0.5

    Hallo zusammen,

    zuallererst: Ich arbeite zusammen mit Yivo an seinem derzeitigen Projekt.
    Nun bin ich auf ein Problem gestoßen, wo wir uns leider beide schwer tun, es zu lösen. Nämlich, dass der Player, wenn er eine vspeed von 0.25 oder 0.5 bzw. -0.25 oder -0.5 hat und knapp über dem Block ist, leicht über diesem schwebt. (Die Werte kommen durch die gravity, die bei uns 0.5 beträgt)
    Unser Player wird bei Kontakt mit dem Standardblock mit folgender Anfrage so weit gezogen, bis er diesen berührt.

    Im obj_player bei der Kollision mit obj_parent_block

    Quellcode

    1. if vspeed > 0 && !place_free(x,y + vspeed)
    2. {
    3. move_contact_solid(direction,vspeed)
    4. }
    5. vspeed = 0


    Nun glaube ich, das diese Anfrage nicht so kleine Zahlen wie 0.25, usw. einschließt. Denn jedes mal wenn man über dem Block schwebt hat der Player eine vspeed von 0.5 bzw 0.25 usw.. (Getestet im debug Mode). Vor allen Dingen ist das schlimm, da unsere Sprungvariable nur bei vspeed = 0 zurückgesetzt wird.

    Ich habe schon versucht die Variable vspeed gar nicht erst auf 0.5 kommen zu lassen, indem ich gerundet habe.Leider funktionierte dies nicht wie es soll.