lengthdir_x und y funktioniert nicht richtig

  • GM 7
  • RE: lengthdir_x und y funktioniert nicht richtig

    The Gamer schrieb:

    Hab hier mal ein example gemacht, um das mit dem Kreis auszuprobieren, aber das funktioniert nicht wirklich, könnt ihr euch des bitte mal anschauen, wo der Fehler liegt?

    Download example


    Such dir einen besseren Hoster oder poste den Code direkt. Ich verschwende sicher nicht 1 Minute meines Lebens, um darauf zu warten, dass ich die Datei runterladen kann. :P

    © 2008 by Teamgrill Productions
  • im step_event nicht

    GML-Quellcode

    1. if circle == 1
    2. {
    3. x = 200+lengthdir_x(100,direction);
    4. y = 250+lengthdir_y(100,direction);
    5. direction += 2;
    6. }

    sondern

    GML-Quellcode

    1. if circle == 1
    2. {
    3. x = 200+lengthdir_x(100,direction-90);//hier ist eine verschiebung da sich der spieler nach unten bewegt
    4. y = 250+lengthdir_y(100,direction-90);//(direction = 270), die gradzahl aber bei 180 startet (ganz simpel =) )
    5. direction += 2;
    6. }

    dann ist zwar noch ein ruckler drin, das liegt aber an der funktion collision_point()
    Ich würd das irgentwie mit x und y machen
  • achso ok, war sowieso nur ein Beispiel, also das mache ich dann nochmal in die andere richtige datei, also in mein Spiel

    :thumbsup: Vielen Dank :thumbsup:


    edit: hab grad gemerkt, dass wenn ich mehrere Instanzen habe und dann der erste Ball den Punkt berührt, dass dann alle den Kreis ablaufen, obwohl sie es erst sollen, wenn sie selber den Punkt berühren.
    Gruß Gamer

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von The Gamer ()

  • dagegen hilft womöglich (nicht getestet) das voranstellen der id, da alle instanzen vom selben object sind, jedoch die ID eindeutig ist.

    also zB id.x =

    wobei ich bezweifle dasses am x liegt ist wohl in nem collisions event drin? oder wo auch immer du "circle" auf 1 stellst, dass du dann id.circle machst
  • Ich weiß jetzt nicht ob ichs richtig verstanden habe, aber ich versuchs mal:

    Ich muss einfach vor die kollision id. machen

    also

    GML-Quellcode

    1. if id.collision_point

    oder ich machs so

    GML-Quellcode

    1. if id.x==300 && id.y==300


    Hab ich das so richtig verstanden??



    edit: da kommt ein error, variable name expected und dann kommt das id.collision
    Gruß Gamer
  • Das mit id. funktioniert nicht, hat sonst noch jemand ne ahnung?

    Also weiß sonst noch jemand, wie man das für die instanz macht.

    Weil sonst wird ja der kreis schon gelaufen, wenn eine instanz den punkt berührt
    Gruß Gamer
  • eehm... kann es sein dass man hintergrundwissen benötigt, um zu verstehen, was du möchtest?
    "das war meine letzte flamewar PM an dich ."
  • nein, stand 4 oder 5 posts weiter oben genauer, aber ich erklärs mal nochmal:


    Wenn ich den Code normal schreibe, dass bei einer bestimmten Koordinate die instanz einen kreis laufen soll, dann machen es aber alle instanzen, wenn nur eine diese Koordinate berührt.
    Es soll aber für jede Instanz einzeln berechnet werden, also erst wenn die Instanz selber die Koordinate berührt, soll es den Kreis laufen.
    Gruß Gamer
  • Aus deinem Example wurde ich leider nicht so recht schlau, deswegen hab ich schnell ein Example gemacht...
    Hat wohl einen viel zu grossen Funktionsumfang, nur für denZweck, aber ich habe im Code markiert, welche Stellen von Bedeutung sind.

    file-upload.net/download-1750435/KreisUmlaufen.gmk.html

    Prinzipiell ist oCircle das Objekt, das den Kreis darstellt, den die anderen Objekte umlaufen sollen, und oWalk ein Objekt, das sich immer den nächsten Kreis sucht um ihn dann in der entsprechenden Distanz zu umrunden.

    Nicht so schön was ich gemacht hab, aber vl hilf es dir.
    "das war meine letzte flamewar PM an dich ."
  • Entschuldigung für all den unnötigen Mist, hier hab ich eine Version nur mit dem eigentlichen Code, besser kommentiert.
    Das ist ziemlich einfach finde ich... wenn du das Prinzip verstanden hast.
    file-upload.net/download-17523…sUmlaufenEinfach.gmk.html
    "das war meine letzte flamewar PM an dich ."
  • oWalk zeichnet nur sich selbst... wenn die instanzen innerhalb des radius von einem kreis sind, bewegen sie sich um diesen, wenn nich, dann machen sie nichts... ^^
    "das war meine letzte flamewar PM an dich ."
  • Benutzer online 1

    1 Besucher