Hilfe - Physics Instanz bewegt sich horizontal schneller als vertikal?!

  • Allgemein

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

  • Hilfe - Physics Instanz bewegt sich horizontal schneller als vertikal?!

    Tach,
    ich hab schon wieder ein Problem :D
    Diese Physics machen mich fertig :'D
    Mein "Spiel" ist eigentlich schon so geil, es sieht meiner Meinung nach klasse aus und hat schon einiges drin. Hab da schon was geplant, werde es dann auch hier releasen. Aber zunächst muss ich die ganzen Probleme lösen.
    Gerade ist mir aufgefallen das meine Schüsse aus dem Geschütz vertikal stärker beschleunigt werden als horizontal. So sehr ich auch suche, ich finde die Ursache nicht...
    woran könnte es liegen.

    Das Spiel läuft in Full HD mit 60 fps
    Mehr Infos und vorallem das Problem sieht man hier in diesem Testvideo: (speed ist phy_speed des letzten Schusses)
    [video]http://www.youtube.com/watch?v=0-FJ1Efutso&feature=youtu.be[/video]

    Mein Code-Ausschnitt für das erstellen des Schusses (Am Schuss liegts wohl nich, habs schon mit einem anderen Objekt getestet = gleiches Problem)
    Ich hab auch schon versucht großte Teile auszukommentieren, aber das Problem bestand weiterhin.
    Das Geschütz ist kein Physics-Objekt.

    energy geht bis zum Wert 1040 oder so und wird halt erhöht solange die Maus gedrückt ist

    GML-Quellcode

    1. if(mouse_check_button_released(mb_left))
    2. {
    3. var bul;
    4. bul = instance_create(x+lengthdir_x(sprite_width-60,image_angle),y+lengthdir_y(sprite_width-60,image_angle),o_bullet)
    5. lastbul = bul
    6. with(bul)
    7. {
    8. phy_rotation = -other.image_angle+random_range(-2,2)
    9. phy_fixed_rotation = true;
    10. physics_apply_force(x,y,lengthdir_x(other.energy*2,-phy_rotation),lengthdir_y(other.energy*2,-phy_rotation))
    11. }
    12. }
    Alles anzeigen


    Bitte, gebt mir einfach irgendwelche Ansätze woran es liegen könnte! :headtouch:

    DANKE!
    Sorm ist Schuld

    Edit: Doch ist er
  • GML-Quellcode

    1. physics_apply_local_force(0,0,other.energy*2,0)

    so?

    Dann bleibt das Problem aber weiterhin bestehen...sieht jetzt genauso aus wie mit
    physics_apply_force(x,y,lengthdir_x(other.energy*2,-phy_rotation),lengthdir_y(other.energy*2,-phy_rotation))


    EDIT:
    Ich habe das Problem jetzt irgendwie gelöst....
    Sorm ist Schuld

    Edit: Doch ist er

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Pacmangamer ()

  • Tice schrieb:

    physics_apply_local_force(0, 0, lengthdir_x(other.energy * 2, -phy_rotation), lengthdir_y(other.energy * 2, -phy_rotation)

    ähm..ne, dann fliegt er teilweise in die komplett falsche richtung.
    Keine Ahnung wie oder wieso, aber ich hab das Problem jetzt iwie nicht mehr.
    Dabei habe ich eigentlich nichts grundlegendes geändert.
    Ich hatte im Schussobjekt linear damping verändern lassen wenn phy_speed einen bestimmten Wert unterschreitet.
    Jetzt habe ich immernoch das gleiche, aber mit phy_speed_x && phy_speed_y....aber jetzt scheints iwie zu funktionieren.
    Wird phy_speed vll irgendwie falsch berechnet oder so?

    Edit:
    Tatsächlich gibt phy_speed bei mir einen falschen Wert wieder.
    Ich habs überprüft und die tatsächliche Vektorgeschwindigkeit mit

    GML-Quellcode

    1. sqrt(abs((power(phy_speed_x,2)+power(phy_speed_y,2))))

    berechnet.
    Sorm ist Schuld

    Edit: Doch ist er

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Pacmangamer ()