Hallo,
ich bin gerade an einem RTS-Spiel und ich habe eine Einheit, die die Näheste Instance zerstören soll.
Kann man irgendwie nun erkennen, wann diese Instance_Nearest zerstört ist?
Ich dachte da vielleicht an die Entfernung messen. Z.B ist Distanz immer so 120 oder anders und wenn sie schlagartig umspringt (das passiert ja normal wenn sie zerstört ist) z.B. auf 300 wird attack auf false gestellt.
Bisher wird die Einheit "markiert" dann bis zu einer Distanz verfolgt(Schussreichweite) und dann beschossen und eventuell zerstört.
Mein Code soweit:
Alles anzeigen
ich bin gerade an einem RTS-Spiel und ich habe eine Einheit, die die Näheste Instance zerstören soll.
Kann man irgendwie nun erkennen, wann diese Instance_Nearest zerstört ist?
Ich dachte da vielleicht an die Entfernung messen. Z.B ist Distanz immer so 120 oder anders und wenn sie schlagartig umspringt (das passiert ja normal wenn sie zerstört ist) z.B. auf 300 wird attack auf false gestellt.
Bisher wird die Einheit "markiert" dann bis zu einer Distanz verfolgt(Schussreichweite) und dann beschossen und eventuell zerstört.
Mein Code soweit:
GML-Quellcode
- Im Global Left Released
- if selected = true //der Wegpunkt wird platziert
- {
- selectx = mouse_x // nicht wichtig
- selecty = mouse_y // nicht wichtig
- if locked = false // nicht wichtig
- { locked = true } // nicht wichtig
- if place_meeting(o_mouse.x,o_mouse.y,o_dwSoldat) // Hier wird das ausgewählte Objekte (Feind) markiert
- {
- attackx = instance_nearest(o_mouse.x,o_mouse.y,o_dwSoldat).x //o_mouse ist ein Objekte, welches die Maus verfolgt
- attacky = instance_nearest(o_mouse.x,o_mouse.y,o_dwSoldat).y
- attack = true
- }
- else {attack = false} // nicht wichtig
- Im Step
- if attack = true
- {
- attackx = instance_nearest(attackx,attacky,o_dwSoldat).x // Die Position des Feindes wird aktualliesiert
- attacky = instance_nearest(attackx,attacky,o_dwSoldat).y // Die Position des Feindes wird aktualliesiert
- if distance_to_point(attackx,attacky) > 120 {action_potential_step(attackx,attacky,2,0)}
- if distance_to_point(attackx,attacky) < 120 {var obj; obj=instance_create(x,y,o_vaSoldatAmmo); with (obj) move_towards_point(other.attackx,other.attacky,5) }
- }
- }
Husi012 hat mich nicht mehr in seiner Signatur, ich bin trotzdem noch fame.