speed=pixel = Objekte überspringen

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

  • room_speed=30 ist auch Standart. Und damit kann ich am besten programmieren. Wenn man jetzt 60 einstellt, läuft alles im Spiel doppelt so schnell. ..........

    Hier habe ich mal eine gm6. Das ist eine Art das Problem zulösen. Aber natülich ist es kein Sprite.
    Ist nur eine Art es zu lösen. Hier:
    Dateien
    57 6F 77 2C 20 64 61 73 20 68 61 73 74 20 64 75 20 67 61 6E 7A 20 61 6C 6C 65 69 6E 20 67 65 73 63 68 61 66 66 74 2E 20
  • GML-Quellcode

    1. //create event
    2. x1 = 0
    3. x2 = 0
    4. x3 = 0
    5. x4 = 0
    6. y1 = 0
    7. y2 = 0
    8. y3 = 0
    9. y4 = 0
    10. Speed1 = 0
    11. Speed2 = 0
    12. collision = false
    13. //step event vom ball
    14. collision = false
    15. x1 = x + sprite_width/2 * cos(degtoread(direction+90))
    16. y1 = y - sprite_width/2 * sin(degtoread(direction+90))
    17. x2 = x + sprite_width/2 * cos(degtoread(direction-90))
    18. y2 = y - sprite_width/2 * sin(degtoread(direction-90))
    19. x3 = x1 + speed* cos(degtoread(direction))
    20. y3 = y1 - speed * sin(degtoread(direction))
    21. x4 = x1 + speed* cos(degtoread(direction))
    22. y4 = y1 - speed * sin(degtoread(direction))
    23. if (collision_line(x1,y1,x3,y3))
    24. {
    25. collision = true
    26. }
    27. if (collision_line(x2,y2,x4,y4))
    28. {
    29. collision = true
    30. }
    31. speed1 = speed;
    32. speed2 = 0;
    33. while (collision == true)
    34. {
    35. x3 = x1 + (speed1+speed2)/2* cos(degtoread(direction))
    36. y3 = y1 - (speed1+speed2)/2 * sin(degtoread(direction))
    37. x4 = x1 + (speed1+speed2)/2* cos(degtoread(direction))
    38. y4 = y1 - (speed1+speed2)/2 * sin(degtoread(direction))
    39. if (collision_line(x1,y1,x3,y3) or collision_line(x2,y2,x4,y4))
    40. {
    41. speed1 = (speed1 + speed2)/2;
    42. }
    43. else
    44. {
    45. speed2= (speed1 + speed2)/2;
    46. }
    47. if (speed1 <= speed2)
    48. {
    49. break;
    50. }
    51. }
    52. x = x + (speed1)/2* cos(degtoread(direction))
    53. y = y - (speed1)/2 * sin(degtoread(direction))
    Alles anzeigen
    PI 0%(IN PROGRESS)
    [IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII]
    [IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII]

    Engine : 0.0 %
    KI : 0.0 %
    Grafik : 0.0%
    Sounds: 0.0 %
    Multiplayer: 0.0%
  • Was meinst du, bigmek?
    Ich habe mal "degtoread" in degtorad umgewandelt. Und "collision_line(x1,y1,x3,y3)" in collision_line(x1,y1,x3,y3,all,true,false)! :)
    Aber was soll das bewirken. Zeig das mal in einer *.GM6. Danke.
    57 6F 77 2C 20 64 61 73 20 68 61 73 74 20 64 75 20 67 61 6E 7A 20 61 6C 6C 65 69 6E 20 67 65 73 63 68 61 66 66 74 2E 20
  • Das wurde hinreichend in diesem Post erklärt. Wer in komplexe Technikfragen einen Thread eröffnet, muss mit entsprechenden Antworten auch fertig werden. Meien Zeichnung hätte eigentlich ausreichen sollen, um dein Problem zu lösen. Lösungen vorgekaut kriegst du in einfache Technikfragen und nicht hier,
  • Hab gerne geholfen aber was den nun.

    Aber es funktioniert nicht. Vielleicht muss man noch etwas verändern?
    Das Problem ist aber jetzt gelöst. Danke an allen.


    funktioniert es oder nicht?
    PI 0%(IN PROGRESS)
    [IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII]
    [IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII]

    Engine : 0.0 %
    KI : 0.0 %
    Grafik : 0.0%
    Sounds: 0.0 %
    Multiplayer: 0.0%