Kollision und die paar verschobenen Pixel

  • GM 8

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

  • Kollision und die paar verschobenen Pixel

    Bei mir fallen Klötze von oben runter (im Spiel, sonst hätte ich ein größeres Problem) die entweder auf dem Boden oder auf einem anderen Klotz anhalten sollen. Das funktioniert auch, fast gut.

    Es gibt drei Schwierigkeitsgrade mit je einer anderen Fallgeschwindigkeit. 4, 6 und 8. Bei 4 und 8 funktioniert die Kollision perfekt, bei 6 gehen die Blöcke 2 bis 3 Pixel zu weit. Mein Code dazu ist:

    GML-Quellcode

    1. if collision_point(x,y+32,obj_kollision,0,0) or collision_point(x,y+32,obj_boden,0,0){
    2. vspeed=0;
    3. if generator = false{
    4. global.generator = true;
    5. generator = true;
    6. }
    7. }else{
    8. vspeed=global.geschw;
    9. }


    global.geschw ist dabei die Geschwindigkeit, welche über den Schwierigkeitsgrad vorgegeben wird.

    Hat jemand eine Ahnung, woran das liegen könnte?
  • Da Vspeed(wie auch andere Geschwindigigkeiten) pixel/step(p/s) angibt hast du bei 4 bzw 8 p/s keine Probleme. Bei 6 ja. Ich denke deine Blöcke sind 32 x 32.

    32/6= 5,3 <- da liegt das Problem

    Bin aber grade aufgestanden, das mir da spontan ne Lösung einfällt!

    Aber vlt. reichts als Denkanstoß und du findest ne Lösung oder andere haben gleich nen passenden gml-code dafür.
  • Danke Baruter. Das klingt nach einem Ansatz. Ich könnte natürlich aus der 6 entweder eine 4 oder eine 8 machen. Oder ich löse es über gravity. Hat jemand noch eine andere Lösung?

    Edit:
    Gravity wollte nicht, wie ich. X(

    Edit2: Problem gelöst, indem ich 4, 8 und 16 als Speed genommen habe. Ist immer noch gut spielbar.

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