Entfernungs Problem

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

  • Entfernungs Problem

    Hi,

    ich hab folgendes Problem undzwar habe ich mehrere Instanzen der gleichen Art die wenn man drauf geklickt hat nach einer Instanz(von der gleichenb Art) suchen sollen auf der noch nicht "geklickt" wurde dies klappt auch doch möchte ich wenn die Entfernung zu weit weg ist zu dem Objekt das dann nichts mehr "angeklickt" werden kann bis losgelassen wird.Das habe ich wie unten probiert doch klappt das nicht denn selbst wenn die Distance kleiner als 46 ist wird die variable "block" manchmal 8| trotzdem auf 1 gesetzt

    GML-Quellcode

    1. if klick = 1
    2. {
    3. dis = 1000000
    4. ob = noone
    5. for(i = 0;i<instance_number(Orange);i+=1)
    6. {
    7. ii = instance_find(Orange,i)
    8. if(ii.klick = 0)&&(point_distance(x,y,ii.x,ii.y)<dis)
    9. {
    10. ob = ii
    11. distance = point_distance(x,y,ii.x,ii.y)
    12. }
    13. }
    14. if distance > 46
    15. global.block = 1
    16. if distance < 0
    17. global.block = 1
    18. }
    Alles anzeigen


    Seht ihr denn Fehler :)
  • naja du hast vergessen, die eigene id auszuschliessen.
    so geht er durch alle instanzen vom typ orange und da ist auch die ausführende eigene instanz dabei, und da ist die distance natürlich immer = 0;

    du musst noch im code überprüfen: if (ii!=id)
    "das war meine letzte flamewar PM an dich ."
  • Die Abfrage brauch ich ja auch nicht ;) denn er soll ja nach einer Instanz suchen bei der die Variable klick = 0 ist und da er erst anfängt zu suchen wenn bei ihm klick = 1 ist das egal
  • mhm ja stimm :D

    dann liegts vl daran, dass das mit global.block vl innerhalb der schleife sein sollte und nicht ausserhalb, weil sonst wird ja nur die letzte distance gewertet bei der abfrage....

    btw für was distance<0?
    das geht doch gar nicht oder?^^
    "das war meine letzte flamewar PM an dich ."
  • Ich hab jetzt mal die Abfragen in die Schleife gelegt leider kein Unterschied :( .Das mit if distance < 0 hätte ich noch drin , weil ich vorher
    (point_distance(x,y,ii.x,ii.y)<50) drin hatte und wenn er da kein Object gefunden hatte gab es immer bei distance -4.

    Edit:Alles klar habs geschafft ich hab nähmlich vergessen das er nicht mehr suchen soll wenn er ein Object gefunden hat :headtouch:

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