Yo estoy haciendo un editor de niveles (los de facebook a lo mejor lo vieron :D) y necesito hacer una herramienta de borrado, para eso uso este código
Citarborrar=collision_rectangle(x-(objeto_seleccionado.sprite_width/2),y-(objeto_seleccionado.sprite_height/2),x+(objeto_seleccionado.sprite_width/2),y+(objeto_seleccionado.sprite_height/2),all,0,1)
with borrar instance_destroy()
Eso significa que borrará a los objeos que estén en el rectángulo imaginario del tamaño del bloque seleccionado (si es un bloque de 4x4 borra lo que esta en 4x4 y si es 8x8 lo que está en 8x8 etc)
El problema es que borra sólo uno de los bloques a los que colisiona, yo quiero que borre todos a la vez
Como mejoro ese código?
PD: Ya se una alternativa de crear un objeto de ese tamaño y que borre lo que colisiona pero no quiero empezar a hacer objetos con poca utilidad XD
En qué evento lo usas a eso? Dale un while
borrar=collision_rectangle(x-(objeto_seleccionado.sprite_width/2),y-(objeto_seleccionado.sprite_height/2),x(objeto_seleccionado.sprite_width/2),y+(objeto_seleccionado.sprite_height/2),all,0,1)
while borrar<>-4{
with (borrar) {instance_destroy()}
borrar=collision_rectangle(x-(objeto_seleccionado.sprite_width/2),y-(objeto_seleccionado.sprite_height/2),x(objeto_seleccionado.sprite_width/2),y+(objeto_seleccionado.sprite_height/2),all,0,1) }
Estaba en el evento de click derecho :-[
Muy bien! funciona perfecto ;)
No entiendo eso de que borrar tiene que ser distinto a -4 ???
Si no me equivoco eso sigue borrando objetos hasta que borrar sea =-4
Claro, -4 es el valor que adquiere la variable cuando ya no hay objetos en el punto de colisión