instance_nearest problem

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

  • instance_nearest problem

    Hoffe ,dass diese Frage noch nicht gestellt wurde.Hab nichts gefunden.
    Also ein Objekt soll mit instance_nearest ein Objekt ,vom selben Typ Objekt suchen.

    Doch dann kommt immer die id des eigenen Objekts raus,da es ja auch ein Objekt diesen Types ist.

    Hab diesen Code

    idm=instance_nearest(x,y,Gegner)
    if(distance_to_object(idm)<=200)&&(idm.var==1){var=1}}
  • mach noch ne id abfrage rein, etwa so (keine garantie, ich habs net getestet)

    GML-Quellcode

    1. idm=instance_nearest(x,y,Gegner)
    2. if(distance_to_object(idm)<=200)&& idm.id != id&&(idm.var==1){var=1}}
    :) Nobody is perfect (-:

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

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Nobody-86 ()

  • GML-Quellcode

    1. global.id=id
    2. with(obj_gegner)
    3. {
    4. dis=point_distance(x,y,global.id.x,global.id.y)
    5. if(dis<global.mindis)and(id!=global.id){global.nearid=id;global.mindis=dis;}
    6. }

    ich hab keine ahnung ob das funktioniert..........
    dann wäre global.nearid die id des nächsten objektes ....
    und global.mindis die distanz zu diesem objekt.....
    Dragoon

    EDIT: GML-Tag fehler^^
    int (*x(*x(int))[5])(int*);
    Confused? Yes, it's C!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Dragoon ()

  • GML-Quellcode

    1. global.idx=0
    2. global.idx=id
    3. with(Gegner)
    4. {
    5. if(point_distance(x,y,global.idx.x,global.idx.y)<150)and(id!=global.idx)and(var==1){global.idx.var=1}
    6. }

    So habs etwas abgeändert,könnte aber auch sein ,dass deine genau das Gleiche gemacht hab.Hab nicht alles verstanden.
    Aufjedenfall bin ich dadurch drauf gekommen.Danke.
  • GML-Quellcode

    1. global.idx=id
    2. with(Gegner)
    3. {
    4. if(point_distance(x,y,global.idx.x,global.idx.y)<150)and(id!=global.idx)and(var==1){global.idx.var=1}
    5. }

    das bewirkt das gleiche....das global.idx=0 kann man weglassen

    Dragoon
    int (*x(*x(int))[5])(int*);
    Confused? Yes, it's C!