collision_sprite oä. funktion gesucht

  • collision_sprite oä. funktion gesucht

    Hi,
    ich habe folgende Situation:
    Eines meiner Objekte erstellt sich im createevent mehrere Duplikate, und speichert diese als array ab. etwa so:

    GML-Quellcode

    1. for(i=0; i<8; i+=1) {
    2. mirror[i]= instance_create(x,y,obj_mirror);
    3. }
    Nun muss das "Mutterobjekt" wissen ob eines seiner Duplikate mit einem anderen Objekt kollidiert. Im Moment mach ich das über collision_circle(morror.x,mirror[i].y,...), da es ein annähernd rundes Objekt ist, leider muss ich feststellen das diese Lösung nur begrenzt funktioniert.
    Es währe nun gut wen ich abfragen könnte ob eine sprite collision stadtfindet.

    Quellcode

    1. collision_sprite(x,y,spr,presise,notme)
    währe ja gut, leider gibts sowas nicht.

    [I]edit:
    danke, klappt wunderbar
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • Ich würde auch den "Kind" Objekten die Kollision überlassen. Du kannst beim erstellen einfach die ID des Mother Objekts mit übergeben ~ eventuell auch die Nummer im Array, und diese dann benutzen, damit die Kinder Daten an die Mutter weitergeben.

    GML-Quellcode

    1. for(i=0; i<8; i+=1)
    2. {
    3. mirror[i]= instance_create(x,y,obj_mirror);
    4. mirror[i].ParentObject = id;
    5. mirror[i].ArrayNumber = i;
    6. }


    jetzt kannst damm im Collision Event im Kind Objekt einfach sowas machen:

    GML-Quellcode

    1. ParentObject.ChildCollision = ArrayNumber;


    im Step event des Parent siehst du dir einfach diese Variable an (stell sie Standartmäßig auf -1, dann kann nicht viel schief gehen), und sobald diese eine Nummer hat, kannst du machen was auch immer du willst.
    ...