Hi
Ich will die entfernung zwischen zwei charakteren berechnen lassen
und das kann ich ja auch mit Pyhtagoras erledigen....
Ich hab da an
Maths.Sqrt((Maths.RaiseToPower(character[TEST].x - character[EGO].x,2))+ (Maths.RaiseToPower(character[TEST].y - character[EGO].y,2)));
gedacht.
Zu beachten hab ich natürlich die jeweiligen positionen der charaktere,
da sich dann x1 und x2 bzw y1 y2 vertauschen...
nur bekomm ich jetzt ständig fehlermeldungen beim komplilieren
(logisch) nur bekomm ich das mit den FloatToInt IntToFloat usw einfach nicht geregelt....
FloatToInt problem (a^2+b^2=c^2)
- Skyhawk
- Verpackungs-Wegwerfer
- Beiträge: 77
- Registriert: 27.04.2004, 19:40
- Kontaktdaten:
(Floats sind ein neues Feature von AGS 2.7)
Mach's zum Beispiel so:
Mach's zum Beispiel so:
Code: Alles auswählen
int a = character[TEST].x - character[EGO].x;
int b = character[TEST].y - character[EGO].y;
int c = FloatToInt(Maths.Sqrt(IntToFloat(a*a) + IntToFloat(b*b)));
Nicht unbedingt. Wenn du eine negative Zahl mit sich selbst multiplizierst, wird sie wieder positiv (- mal - gibt +). Das obige sollte funktionieren, egal welcher Charakter auf der anderen Seite von dem anderen steht.Zu beachten hab ich natürlich die jeweiligen positionen der charaktere,
da sich dann x1 und x2 bzw y1 y2 vertauschen...
- Skyhawk
- Verpackungs-Wegwerfer
- Beiträge: 77
- Registriert: 27.04.2004, 19:40
- Kontaktdaten:
Gern geschehen.
Kannst dir natürlich auch eine eigene benutzerdefinierte abs()-Funktion dafür basteln.
Meinst du Absolut? Das gibt es nicht direkt in AGS, aber das kannst du ganz einfach selbst machen:hab schon verzweifelt nach ner Betrags-funktion gesucht, aber so isses noch besser
Code: Alles auswählen
int x = y - z;
if (x < 0) x = -x; // wenn x negativ ist, mach es positiv
- TheIncredibleLovis
- Hobby-Archäologe
- Beiträge: 208
- Registriert: 12.04.2005, 18:08
- Wohnort: Hamburg, Regen, Frisur hält!