Sprite nach Gravity ausrichten lassen

  • GM 8

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

  • Sprite nach Gravity ausrichten lassen

    Guten Tag gm-d.de!


    Mein Problem:

    Ich bin derzeit dabei ein kleines Spielchen zu programmieren, und benötige nun leider etwas Hilfe.
    Ich habe eine Art Pfeil, welche ich mithilfe von image_angle nun in Richtung der Gravitation ausrichten möchte.

    Mein Beispielcode:

    GML-Quellcode

    1. image_angle = point_direction(x,y,gravity.x,gravity.y);


    Funktioniert zwar wenn ich anstatt gravity, mouse eingebe, jedoch ist dies nicht mein Ziel.
    Ich hoffe ich konnte meine Frage verständlich rüberbringen, und hoffe nun auf Hilfe.

    Mit freundlichen Grüßen, DaBoogie.
  • Moment, soll sich das Sprite immer Richtung der Erde z.B. drehen, oder in die Richtung ind er sich das Objekt bewegt?
    Wenn ersteres der fall ist, dann schreib einfach

    GML-Quellcode

    1. image_angle = gravity_direction;

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Vielen lieben Dank für die schnellen Antworten!
    Leider zeigt meine Möhre(Der oben im Thread benannte Pfeil) mit dem Code:


    GML-Quellcode

    1. image_angle = gravity_direction;


    immer nach unten, es sollte aber möglichst so aussehen, ich habe euch dafür mal ebend ein Beispielbild angefertig :'D



    Vielen lieben Dank, erneut.
  • Leider funktioniert auch dies nicht...

    Ich habe mich selbst ebenfalls dran getan, und habe eine nicht zufriedene Lösung gefunden ^^.
    Ich habe ein Objekt, welches meine Möhren alle 2 sekunden lang "spawnt", und sie nach oben schießt, wo sie
    dann nach kurzer Zeit, ebend durch die Anziehungskraft nach unten fallen.
    Wenn ich nun 0.1 sek bevor ich die Möhre "spawne" ein objekt namens "richtungsweiser" spawne welches genau
    die gleichen Eigenschaften wie meine Möhre hat, so funktioniert mein Vorhaben indem ich folgenden Code benutze:

    GML-Quellcode

    1. image_angle = point_direction(x,y,richtungsweiser.x,richtungsweiser.y);




    Dies ist allerdings leider keine gute Lösung, da dies nur jeweils einzelnd funktioniert, da es ebend nur einmal
    dieses objekt richtungsweiser geben kann, da sonst alle möhren nur auf dieses objekt zeigen.


    Ich hoffe man versteht was ich damit meine.


    Mit freundliche Grüßen, DaBoogie.
  • Aber in dem Fall kannst du die Möhre ja den Richtungsweiser spawnen lassen.

    GML-Quellcode

    1. MeinRichtungsweiser = instance_create(x,y,richtungsweiser)


    Dann kannst du für jede Möhre einen richtungsweiser machen.
    Mich wundert es, dass mein Code nicht funktioniert, denn der mach ja
    genau das gleiche bloße ohne ein zweites Objekt.
  • Vielen lieben Dank Shapow das du dich hierfür interessierst, und mir
    dabei hilfst, dieses Problem zu beheben.
    Es funktioniert! Es ist zwar doof, wenn man die Mohrrübe von einer Kanonen schießen lässt, da das
    Richtungswechselobjekt dann ja nur von der Mohrrübe gespawnt wird, und nicht von der
    Kanone geschossen wird, bedeutet dabei funktioniert dies nicht so ganz.
    Doch sogesagt funktioniert deine Lösung, wofür ich dir sehr dankbar bin.


    Mit freundlichen Grüßen, DaBoogie.


    ----EDIT
    Falls jemand das Game Maker Studio besitzt. Dort gibt es eine bereits eingebaute Physik Engine welche Sprites eines Objektes automatisch ausrichtet, in deren Fallrichtung.
    Dazu einfach bei dem Objekt "use physics" ankreuzen, und den Raum in den Einstellungen als "physic world" einstellen.

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

  • Hi
    Ich hätte noch eine anderen Vorschlag.
    Die gravity ändert die direction von deinem Objekt.
    Also solltest du als image_angle die direction verwenden.

    GML-Quellcode

    1. image_angle = direction '+/- zusatzliche rotation'


    So sparst du dir unnötige Objekte.