In Game Maker gibt es diese KI, in der ich zu entwerfen versuche ... Diese KI wählt abhängig von der Entfernung, welches Objekt zuerst schießen soll das Objekt davon entfernt. Dieses AI-System berechnet jedoch nicht nur die Entfernung eines Objekts, sondern berechnet auch die Entfernung mehrerer Objekte. Daher: instance_nearest funktioniert nicht, weil es nur verwendet werden kann, um den Abstand eines spezifischen Objekts zu berechnen.Spielmechaniker: Wie man einen Feind erhält, um zu wählen, welches Objekt zuerst erschießt:
Hier ist der Code:
if object_exists(E_soldier_AI){
if(distance_to_object(E_soldier_AI) < global.Dis){
var t1 = instance_nearest(x,y,E_soldier_AI).x;
var t2 = instance_nearest(x,y,E_soldier_AI).y;
instance_create(t1 ,t2, NB);
}
}
if object_exists(E_soldier_AI2){
if(distance_to_object(E_soldier_AI2) < global.Dis){
var t1 = instance_nearest(x,y,E_soldier_AI2).x;
var t2 = instance_nearest(x,y,E_soldier_AI2).y;
instance_create(t1 ,t2, NB3);
}
}
if object_exists(E_soldier_AI3){
if(distance_to_object(E_soldier_AI3) < global.Dis){
var t1 = instance_nearest(x,y,E_soldier_AI3).x;
var t2 = instance_nearest(x,y,E_soldier_AI3).y;
instance_create(t1 ,t2, NB4);
}
}
if object_exists(ETank_AI){
if(distance_to_object(ETank_AI) < global.Dis){
var t1 = instance_nearest(x,y,ETank_AI).x;
var t2 = instance_nearest(x,y,ETank_AI).y;
instance_create(t1 ,t2, NB2);
}
}
Dieser Code wird nicht auch "es geschnitten", weil der Code scheint nur, wenn zu überprüfen Objekt E_soldier_AI vorhanden ist, und die Befehle unter der "if" Anweisung, aber es berücksichtigt nicht die anderen "if" -Anweisungen danach ...