Mir ist kein besserer Titel eingefallen. Ich habe folgendes Porblem wo mir einfach keine Lösung einfiel. Ich möchte ein Gegner erstellen. Der durch gesetzte Flagen in der Reihenfolge durch fährt. Er soll zu einem zufälligem Punkt zwischen der roten und grünen Flage fahren. Sobald er diesen Punkt ereicht hat soll er zur den nächstplatzierten Flagen fahren. Und so weiter. Jetzt zu dem Problem: wie bekomme ich einen Zufälligen Punkt zwischen den nächsten zwei Flagen?
Autos die durch Flagen fahren.
- GM 8
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
-
-
Du machst das am besten so, dass du in jeder flagge im Create Event der roten Flaggen das hier schreibst:
im Gegner schreibst du dann:
Create Event:
Step Event:
GML-Quellcode
- var dist, green, red, dir;
- if(tx == -1){ //Verhindert, dass die zufällige Position mehrfach gewählt wird.
- with(obj_flagge_rot){
- if(_id == other.current_id){
- other.red = id; //Jetzt wissen wir die ID der nächsten roten Flagge.
- }
- }
- with(obj_flagge_gruen){
- if(_id == other.current_id){
- other.green = id; //Jetzt wissen wir die ID der nächsten grünen Flagge.
- }
- }
- dist = point_distance(red.x,red.y,green.x,green.y); // Der Abstand der zwei Flaggen.
- dist = irandom(dist); //Zufälliger Abstand nehmen.
- dir = point_direction(red.x,red.y,green.x,green.y); //Wird später wichtig.
- tx = red.x+lengthdir_x(dist,dir);
- ty = red.y+lengthdir_y(dist,dir);
- //Nun haben wir den Punkt.
- }
- if(x == tx && y == ty){ //Falls der Gegner am Punkt ist,
- current_id += 1;
- if(current_id > instance_number(obj_flagge_rot)){
- current_id = 0; //Verhindert, dass Flaggen, die nicht existieren gewählt werden.
- }
- tx = -1; //Wird der nächste Punkt fetgelegt.
- }
Im Step Event muss natürlich noch die Bewegung des Gegners hin.
(Alles ungetestet)
-Tobi97
Twitter | Heaven'n'Hell EP | Call me Joex3 EP | Vaporizing Dreams EP | Electrified EP | Two Worlds EP
Zu. Viele. Links. -
Das wird so nicht gehen, da dann x und flagge x genau gleich sein muss...
das sollte noch gerundet werden, sonst geht das nicht.
Edit: Oh, sorry uralt...Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
Nach langer zeit wieder im Forum aktiv -
Und das, obwohl man doch noch im Antwortpost-Editor diesen spaßigen hellen Balken mit "Die letzte Antwort liegt mehr als XY Tage zurück! Das Thema könnte steinalt und tot sein!" kriegt...
*schließers*