gegenstände sollen bumerang folgen

  • gegenstände sollen bumerang folgen

    tach leute!

    ich bin noch immer an meinem zelda clone. danke nochmal für die hilfe
    mit der energieanzeige :)

    ich möchte mit nem bumerang gegenstände aufsammeln lassen.

    der bumerang besteht aus 5 objecten, sehr umständlich, ich weiß, aber funktionert ;)

    1 object für den flug nach rechts, eins für den flug nach links, nach oben und nach unten. dann nochmal ein object, welches zur spielfigur zurück fliegt.
    da der bumerang die objecte nicht zerstören soll, sondern sie errst vor sich herschieben und dann zur spielfigur bringen soll, hab ich da gerade ein problem...
    der bumerang, der zurück fliegt, kann ohne probleme die gegenstände zur spielfigur bringen.
    was leider noch nicht funktioniert, ist, dass die gegenstände vor dem bumerang hergeschoben werden.
    ich hab es mit move_towards_point und die koordinaten des aktuellen bumerangs versucht, aber die gegenstände hauen in irgendwelche zufälligen richtungen ab..
    wär nett, wenn ihr mir helfen könntet. wenn ihr irgendwas zum helfen benötigt, sagt bescheid.

    GML-Quellcode

    1. if collision_point(x,y,Bumerang_re,0,true)
    2. {
    3. move_towards_point(Bumerang_re.x,Bumerang_re.y,8)
    4. }
    5. if collision_point(x,y,Bumerang_li,0,true)
    6. {
    7. move_towards_point(Bumerang_li.x,Bumerang_li.y,8)
    8. }
    9. if collision_point(x,y,Bumerang_ho,0,true)
    10. {
    11. move_towards_point(Bumerang_ho.x,Bumerang_ho.y,8)
    12. }
    13. if collision_point(x,y,Bumerang_ru,0,true)
    14. {
    15. move_towards_point(Bumerang_ru.x,Bumerang_ru.y,8)
    16. }
    17. if collision_point(x,y,Bumerang_re_zur,0,true)
    18. {
    19. move_towards_point(Link.x,Link.y,8)
    20. }
    Alles anzeigen


    das ist der code der in den objecten liegt.

    vielen dank im voraus.

    gruß clemens
  • Erstelle doch einfach erstmal ein neues Objekt, und trage das bei allen Bumerangobjekten als Parent ein. Und jedem Objekt, dass vom Bumerang aufgesammelt werden soll verpasst du eine Variable, die du im Create Event auf 0 setzt. Im Kollisionsevent mit dem oben erwähnten Parent Objekt lässt du diese Variable 1 werden. Und im Stepevent fragst du, ob diese Variable 1 ist; wenn ja, dann sollen die Koordinaten dieses Objekts gleich der Koordinaten des Bumerangs sein.
  • das funktionier nicht, weil es viel zu kompliziert ist, ein bumerang objekt reicht eigentlich vollkommen, muss nurein entsprechendes eventhandling her.
    mache das ganz etwa so:
    1.) erstelle ein objekt welches deinen bumerang darstellt.
    2.) mache die verschiedenen bewegungsabläufe richtungsabhängig, zb.
    swich direction {
    case 0: // was passier wen es nach rechst fliegt
    case 90: // was wen nach oben
    case 180: // wenn links
    case 270: // und unten
    }
    und ein alarm der den bumerang nach xx ZE wieder zurückfliegen lässt.
    die entsprechenden codes müsstest du ja beeits in jedem einzelnen bumerangobjekt haben.
    3.) gebe dem bumerang objekt einen kollisionevent mit dem code: other.x = x; other.y = y;

    dan sollte das alles wunderbar funktionieren.
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl