Hola.. estoy haciendo un juego tipo paint, donde hay varios colores que uno puede elegir, y al hacer click se crea el objeto que va "pintando".
Mi problema es que al ir pintado, me di cuenta que el siguiente color que apretaba se creaba debajo del que ya habia usado. Hay alguna forma se que se vayan creando encima??
espero puedan ayudarme
Gracias!!!
Estas seguro que todos los objetos color tienen el mismo depth. Cada nuevo objeto que se crea se coloca por encima de los demas con el mismo depth
sip.. todos los objetos que son los colores que se van creando tienen un depth de -2.. y cada vez que cambio de color, se van creando por debajo del otro.
Aqui un ejemplo... el rojo fue el primer color que use y despues el verde y se creo por debajo.
EN la imagen, ¿cada color fue un objeto distinto? Si es así, lo que debes hacer es que antes de dibujar un color, se debe preguntar si en esa zona ya existe un color (un objeto) Si resulta que sí, se debe preguntar la profundidad de ese objeto (o llevar un conteo en una variable) y disminuir la profundidad del nuevo objeto (según la profundidad del objeto que ya existe o de la variable) para que quede por encima.
Desconozco qué método uses para dibujar los objetos, si fuera en el evento DRAW, entonces la estrategia tendría que ser distinta.
efectivamente cada color es un objeto distinto. Ahora he estado intentado lo que me dijiste, pero no logro dar con el codigo .. utilice este
if instance_exists(obj_rojo_pincel)
{
if depth=-2
{
depth=-4 ;
}
}
else
{
depth=-2;
}
Esto lo puse cuando colisiona con los otros colores y tambien en los demas objetos color... funciona algo, pero parpadea... algo le falta supongo..
Ese juego se puede implementar usando surfaces, el pincel dibujaría directamente a la surface, y la surface se mostraría en el evento Draw. La surface acumula todo lo dibujado sin tener que crear tantas instancias.
Claro.. :D pero el juego ya lo tengo listo ..solo necesito arreglar ese problema ... que aun no puedo solucionar bien
De alguna forma estas cambiando el depth de los objetos, en alguna parte de codigo. A menos que no se quiera game maker coloca cada nuevo objeto encima del anterior