Du bist nicht angemeldet.

Xivilay

Münzeinwurfschacht

  • »Xivilay« ist der Autor dieses Themas

Beiträge: 124

Game Maker Version: 7 Pro

Selbsteinschätzung: GML Fortgeschrittener

Aktuelles Projekt: Neue Version von Tower Defence

  • Private Nachricht senden

1

Freitag, 6. Februar 2009, 11:37

Schuss soll am Ende der Kanone Createt werden

Hi erst mal zusammen,
ich hab nurn kleines Problem, nämlich ich habe eine Kanone mit der größe von 64*64 Pixeln, die Mitte ist bei 10X und 15Y, um diese Achse dreht sie sich. Und jetzt komt das Problem wenn ich nun eine Kugel createn lasse wird sie auf diesem Mittelpunkt createt aber nicht an der Mündung wie sie es eigentlich sollte. Und wenn ich nun die Koordinaten wo die Kugel Createt wird ändere wird sie durch
image_angle = point_direction(x,y,mouse_x,mouse_y)
wieder nicht dort Createt wo ich es gerne hätte.

Kurtz "Die kugel soll an der Mündung Createt werden aber durch image_angle = point_direction(x,y,mouse_x,mouse_y) gehts nicht."

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Xivilay« (6. Februar 2009, 11:51)


Beiträge: 585

Game Maker Version: 7 Pro

Selbsteinschätzung: GML Fortgeschrittener

Aktuelles Projekt: Als ob ich je ein wirkliches Projekt hätte =P

  • Private Nachricht senden

2

Freitag, 6. Februar 2009, 13:16

Versuchs mal mit lengthdir_x(len,dir) bzw lengthdir_y(len,dir), das rechnet dir die x/y Werte für die angegebene Distanz in die angegebene Richtung aus.

Alternativ geht auch Trigonometrie aber das macht wenig Sinn, kommt aufs gleiche hinaus.
So far, Schattenphoenix~
_____________________________________________________________________________
"Who needs a stairway to heaven...
If there is an elevator to hell... ?
"
- Vergessen
"Auch ein perfektes Chaos ist etwas vollkommenes."
- Jean Genet

Armordes

Präfekt

Beiträge: 25

Game Maker Version: 6 registriert

Selbsteinschätzung: GML Anfänger

  • Private Nachricht senden

3

Samstag, 7. Februar 2009, 01:28

Ich hatte einmal das selbe Problem, und hab es ganz simpel gelöst:
Ich hab die Kugel einfach unsichtbar gemacht und im Create Event einen alarm gestartet, der sie nach bestimmter Zeit wieder sichtbar machte, dieser Moment muss dann dem Zeitpunkt entsprechen, an dem die Kugel einen Tick hinter die Mündung geflogen ist.
So erscheint die Kugel natürlich mit etwas Verzögerung, was bei mir allerdings nicht weiter auffiel.
Eine etwas faule Alternative^^, für eine saubere Umsetzung nutze Schattenphoenix' Lösung.
>"Ich habe keine Zeit mich zu beeilen."<

Waterman7

Applejack

Beiträge: 592

Game Maker Version: 8.1 Standard

Selbsteinschätzung: GML Fortgeschrittener

Aktuelles Projekt: CPU-Contest 2012

Danksagungen: 41

  • Private Nachricht senden

4

Samstag, 7. Februar 2009, 12:55

@Armordes:
Die noch faulere Methode lautet: Depth der Kugel einfach höher machen als die der Kanone. So sieht man die Kugel erst, wenn sie "unter der Kanone hervorkommt" ;)

MfG Waterman7

Beiträge: 842

Game Maker Version: 7 Pro

  • Private Nachricht senden

5

Samstag, 7. Februar 2009, 15:47

Wenn man aber zum Beispiel ein Spiel macht, wo man sich mit einem Gegner gegeseitig abschießt und man nur ein Objekt für die Kugel(n) verwenden will, funktioniert nur die Methode von Schattenphoenix!

copyboy

Krankhafter Individualist

Beiträge: 2 046

Selbsteinschätzung: GML Experte

  • Private Nachricht senden

6

Samstag, 7. Februar 2009, 18:13

Stichwort lengthdir:

GML

1
2
3
4
xx = x+lengthdir_x(16,image_angle);
yy = y+lengthdir_y(16,image_angle);
obj = instance_create(obj_kugel,xx,yy);
obj.direction = image_angle;

EDIT: Verbessert.
EDIT2: @ ghostrider: Ja genau, wie gesagt :P

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »copyboy« (7. Februar 2009, 18:18)


ghost

Lobbyist

Beiträge: 1 030

  • Private Nachricht senden

7

Samstag, 7. Februar 2009, 18:16

Bin ich jetzt total falsch, oder muss es nicht

GML

1
obj = instance_create(obj_kugel,x+xx,y+yy);

sein?

"Nee, ich trinke keinen Tee, ich bin Atheist." - Helge Schneider

Beiträge: 842

Game Maker Version: 7 Pro

  • Private Nachricht senden

8

Samstag, 7. Februar 2009, 18:45

@ copyboy: du hast nur 'xx' aber ghostrider meint 'x+xx'!

Armordes

Präfekt

Beiträge: 25

Game Maker Version: 6 registriert

Selbsteinschätzung: GML Anfänger

  • Private Nachricht senden

9

Samstag, 7. Februar 2009, 20:39

@ Waterman7: Stimmt, einfacher und besser.
@ maxda: copyboy addierte das 'x+' und 'y+' einfach in seinen ersten beiden Zeilen, wenn ich richtig durchblicke:

xx = x+lengthdir_x(16,image_angle);
yy = y+lengthdir_y(16,image_angle);
>"Ich habe keine Zeit mich zu beeilen."<

Beiträge: 842

Game Maker Version: 7 Pro

  • Private Nachricht senden

10

Freitag, 13. Februar 2009, 20:33

Oh stimmt, das habe ich übersehen!


Edit: :P Ja, schon!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »maxda« (14. Februar 2009, 11:42)


copyboy

Krankhafter Individualist

Beiträge: 2 046

Selbsteinschätzung: GML Experte

  • Private Nachricht senden

11

Samstag, 14. Februar 2009, 11:23

Tja, und das ist genau der Grund, warum man solche Kleinigkeiten lieber per PN regeln sollte, anstatt gleich drauf los zu posten. ;)
Ein besseres Beispiel könnte es kaum geben ... @maxda: Du hast doch sicher auch schon einmal den "Bearbeiten"-Button gesehen?

Ähnliche Themen