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
    • bladetrail_alt.zip

      (3,34 kB, 101 mal heruntergeladen, zuletzt: )
    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%