Genau schiessen

  • GM 6

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

  • Genau schiessen

    hallo alle zusammen,

    ich hab das prob. ich will ganz genau von der pistole abfeuren(shotter game)aber es geht nit.

    wenn ich mich bewege schießt er von da wo ich die x und y gestellt habe bzw. geschrieben habe.

    relativ verfolgt es aber nicht von der pistole aus sondern ganz unten. hilft mir please!!!!!!!!!!!!!!!!!!

    Ich hab es so....

    GML-Quellcode

    1. instance_create(192,176,obj_bullet)


    in der person der schießt (in press space event)

    und bei der obj_bullet::::::

    GML-Quellcode

    1. motion_set(180,9)


    bitte um hilfe :(
  • Also ich versteh das nicht ganz, du willst, das Die Kugel genau bei dem spieler erstellt wird?
    Das würde dann so gehen:

    GML-Quellcode

    1. instance_create(x+0,y+0,obj_bullet)

    Wenn du es aber ganz genau willst, dann muss du das mit:

    GML-Quellcode

    1. lengthdir_x
    2. lengthdir_y

    machen.
    Z.B:
    [press-space-event]

    GML-Quellcode

    1. c=instance_create(x+lengthdir_x(8,dire),y+lengthdir_y(8,dire),obj_bullet)
    2. c.direction=dire
    3. c.speed=//dein speed

    Achja, davor nicht vergessen im creat event die Variable dire zuzuweißen.
    [creat-event]

    GML-Quellcode

    1. dire=point_direction(mouse_x,mouse_y,x,y)

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

  • @ Offtopic
    Nur mal so:

    ösFreak schrieb:

    ein kurzer beischspiel

    Das kommt mir irgendwie schwer bekannt vor... und auch die Abkürzung "ös" vor dem "freak"...

    Nunja :huh:



    @ Topic:

    Die lengthdir-Funktionen sind für einen Anfänger vielleicht etwas schwer zu verstehen (denn wenn mein Verdacht stimmt, bist du ein ganz bestimmter blutiger Anfänger mit doppeltem Account), daher erklär ich sie dir mal eben - es bringt ja nix, nur den Code zu übernehmen ohne überhaupt zu wissen, wie er funktioniert.
    lengthdir beschreibt einen Vektor, also eine Strecke von einem Koordinatenpunkt zu einem anderen. lengthdir_x ist dabei die x-Komponente des Vektors, welcher man eine Länge und eine Richtung angeben kann. lengthdir_y ist logischerweise die y-Komponente. Du kannst den beiden Variablen auch untereinander verschiedene Längen- und Richtungswerte zuweisen, um deinen Vektor zu verformen.
    Um die lengthdirs effektiv für Kanonen etc. einsetzen zu können, empfehle ich folgenden Code (Mit Sprite-Origin auf der Mitte, versteht sich)

    GML-Quellcode

    1. //Kugel an Waffenspitze erstellen und losschießen
    2. i=instance_create(x+lengthdir_x(sprite_width,direction),y+lengthdir_y(sprite_height,direction),/*bullet*/)
    3. i.speed=/*gewünschte Geschwindigkeit*/
    4. i.direction=direction


    Da instance_create ja die ID der erstellten Instanz zurückgibt, lässt sich das erstellte Objekt prima per Speicherung in einer Variable beeinflussen - ist ein nützlicher kleiner Trick, der deinen Kugeln auch mehr Flexibilität gibt :)