Create-Punkt bestimmen

  • GM 7

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

  • Create-Punkt bestimmen

    Hi, hab grad mal ein kleines Problem und hoffe, ihr könnt mir helfen.


    Dieses Bild soll helfen, es besser zu verstehen und zwar soll das eine Schussanlage darstellen, der rote Punkt ist der Mittelpunkt des Kreises und zwar um den Punkt soll sich die Anlage drehen, dazu hab ich einfach bei den Sprite Properties diesen Origin eingestellt, war alles kein Problem.

    Nun schiesst die Schussanlage natürlich auch und zwar soll das Objekt der Patrone bei dem grünen Punkt erstellt werden, dazu schreib ich einfach in das Schussevent (wir nehmen an, vom grünen zum roten Punkt sind es 20px):

    GML-Quellcode

    1. instance_create(x,y-20,obj_bullet);


    das ist auch kein Problem, aber wenn sich jetzt die Schuss anlage zum Beispiel um 180 Grad dreht und dann schiesst, dann kommt die Kugel nicht aus dem Lauf, sondern wird genau an dem Punkt erstellt, vom Mittelpunkt 20px nach oben.
    Also wenn die Schussanlage gedreht wird, dann bleibt der grüne Punkt aber genau an der Stelle, dabei soll der mit der Schussanlage sich um den roten Punkt drehen.

    Ich hoffe, dass das verständlich genug war und hoffe auch dass ihr mir helfen könnt, Danke. :thumbsup:
    Gruß Gamer
  • Ich werds dir ma beshcreiben, was du draus machst ist deine Sache aber hier mal ein paar infos darüber:

    GML-Quellcode

    1. lengthdir_y/x(len,dir)//Len=lenght dir=direction

    also kommt bei lenght die länge rein,bzw der abstand vom ausgehenden punkt zu dem den du willst, und bei direction die richtung in welcher der Abstand genommen wird.
    Was Heißen will:
    Lenght=Der Abstand(in Pixel) vom roten zum grünen Punkt.
    Direction=Die Richtung In welche die Schussanlage zeigt.
    Benutz das nächste mal biite die Sufu und vorallem die hilfe(die gibts auch auf deutsch gm-d.de/help)

    Denn da stand im grunde genommen genau das drin was ich dir grade gesagt hab.
    mfg gamer_08
  • Wisst ihr was geil wäre? So eine Art Tagging-System, in dem die Threads von den Usern mit Stichwörtern getaggt werden können, und wenn jemand was sucht, dann ist es warhscheinlicher, dass er was findet... so ein Einfall.. :D
    "das war meine letzte flamewar PM an dich ."
  • ...So ein einfall hatte schon manch anderer User.
    Dies Wurde abgelehnt da sich keiner Wirklich die mühe machen würde. Ich kann mir gut vorstellen dass das manche machen würden aber bei denen die es nicht machen würde sich auch kein moderator dazu bereit erklären diese Lücke zu füllen. weil es zu viel aufwand ist. Für die nächsten anregungen kannst du ja dann den dafür vorgesehenen bereich im forum nutzen.
    mfg gamer_08
  • Hi, irgendwie funktioniert das bei mir nicht, hab sogar noch ein paar andere Threads angeschaut, da wurde es genau so erklärt, aber es funktioniert einfach nicht:

    GML-Quellcode

    1. var a,xx,yy;
    2. xx = x + lengthdir_x(30,direction);
    3. yy = y + lengthdir_y(30,direction);
    4. a = instance_create(xx,yy,obj_bullet);


    Das Gewehr ist 30 pixel vom Mittelpunkt entfernt, deshalb der Wert 30, es funktioniert nur wenn die direction 0 ist.


    edit: ah ich hab sogar mein Problem schon gefunden, oh man, wieso ist mir das nicht 30 Sekunden früher aufgefallen.
    Es muss image_angle heißen, nicht direction, da bei mir die direction gar nicht so definiert ist :headtouch: :headtouch: :headtouch: :headtouch: :headtouch:
    Gruß Gamer
  • hm, keine ahnung, ich umgeh diese sache anders,

    ich erstell bei der bullet 2 subimages, die eine ist komplett transparent, auf der anderen subimage ist die bullet drauf

    dann einfach bei object #bullet# bei create subimage=0 speed=0 alarm[0]=5

    und dann bei alarm[0] subimage=1 speed=0

    so sieht man die bullet erst nach einer zeit, so mach ichs imma, das klappt wunderbar und sieht auch gut aus,

    wenn z.B. die bullet mit 50speed oder so schiest :P :D