Top Down - Kugel weiter weg vom Spieler erstellen (lengthdir)

  • GM 7
  • Top Down - Kugel weiter weg vom Spieler erstellen (lengthdir)

    Nabend auch.
    Ich hab nach etlichen Wochen mal wieder den GM ausgekramt und kam gleich zum ersten Problem.
    Ich möchte einen kleinen Top Down Shooter machen und hab mir deswegen erstmal eine kleine Engine gebastelt.
    Das Problem ist aber das Schießen. Dazu mal ein Bild unten :
    Link zum Bild


    Momentan lass ich die Kugeln durch "point_direction(x,y,mouse_x,mouse_y)" erstellen. Nun werden die Schüsse aber direkt beim Spieler erstellt (Blauer Punkt im Bild). Ich möchte aber gerne, dass die Schüsse weiter vorne erstellt werden (Weißer Punkt im Bild).
    Ich weiß nur, dass das mit Lengthdir_x und y oder so ähnlich funktioniert bin aber momentan etwas ratlos. ?(

    Was kann ich da machen ?

    -Mfg Freak
  • so einen Code hast du doch bestimmt im Mouse Pressed Event oder ähnlichem:

    GML-Quellcode

    1. a = instance_create(x,y,obj_bullet);
    2. a.direction = point_direction(x,y,mouse_x,mouse_y);
    3. a.speed = 10;

    oder halt so ähnlich.

    jetzt machst du es am besten so:

    GML-Quellcode

    1. var xx,yy;
    2. xx = x + lengthdir_x(20,image_angle);
    3. yy = y + lengthdir_y(20,image_angle);
    4. a = instance_create(xx,yy,obj_bullet);
    5. a.direction = point_direction(x,y,mouse_x,mouse_y);
    6. a.speed = 10;


    Bei den zwei ersten Zeilen musst du die 20 für den Abstand (in Pixeln) zwischen dem blauen und weißen Punkt reinschreiben.

    Dann müsste es eig. klappen.
    Gruß Gamer
  • The Gamer schrieb:

    GML-Quellcode

    1. var xx,yy;
    2. xx = x + lengthdir_x(20,image_angle);
    3. yy = y + lengthdir_y(20,image_angle);
    4. a = instance_create(xx,yy,obj_bullet);
    5. a.direction = point_direction(x,y,mouse_x,mouse_y);
    6. a.speed = 10;


    Danke hat wunderbar geklappt.

    LoganTheManster schrieb:

    du könntest natürlich auch die Depth der Kugel in den Eigenschaften um eins höher setzen als die vom Spieler, dann würde man sie nicht sehen solang sie sich unter dem Sprite vom Spieler befindet
    Hätte nicht gut ausgesehen, da man es beim Bewegen, schnell Drehen gesehen hätte ;)

    -Mfg Freak