Por lo que he podido ver, aquellos procesos a los que les asignamos algún valor a su variable local z, cuando están encima de otro proceso con el mismo valor de z, cada vez que se mueven un pixel se superponen y se desuperponen, vamos que hacen cosas rara. Probé a hacer un contador de procesos y a sumarle a cada proceso ese contador, pero no me funcionó. ¿hay alguna alternativa?
a iguales z, el orden de dibujado de los procesos es indeterminado...
que version de bennu estas usando?
¿Alguna alternativa a qué?
Todos los procesos tiene la z=0 es logico que se superpongan unos a otros (depende de cual se dibuje antes en cada frame global), para evitarlo solo tienes que poner Z distintas en los procesos.
Tienes tambien una pagina muy bonita de ayuda:
http://fenixworld.se32.com/fenixwiki/index.php?title=Portada
Quote from: TYCO on September 15, 2008, 04:29:46 PM
¿Alguna alternativa a qué?
Todos los procesos tiene la z=0 es logico que se superpongan unos a otros (depende de cual se dibuje antes en cada frame global), para evitarlo solo tienes que poner Z distintas en los procesos.
Tienes tambien una pagina muy bonita de ayuda:
http://fenixworld.se32.com/fenixwiki/index.php?title=Portada
No entiendo tu respuesta. Ya conozco el fenixwiki y he dicho que los procesos les inicializaba la z por lo que no es igual a cero. Le puedes poner z distinta a distintos procesos, pero cuando es el mismo proceso dos veces (llamado por segunda vez) no es tan sencillo.
Si necesitas que que un mismo proceso, tenga Z distintas, como has dicho al principio con un contador debe funcionarte es decir algo estilo a esto:
...
...
contador++;
llamada_proceso(contador);
...
...
Process llamada_proceso (z)
...
...
Eso deberia valerte, pero segun comentas ya lo has probado y no te funciona. Motivos??? Varios... quizas estes mezclando Z, y me explico... imagino que sabras que existe text_z, z, scroll.z, m7.z, mouse.z y posiblemente alguna mas. Y segundo el valor de profundidad(z) va de -512 a 512.
Pero sigo pensando que ese codigo que puse deberia servir, si es la Z de graph la que utilizas.
en la ultima version deberia ser un poco mas estable, y solo verias este efecto si cambiarias la z (en teoria)...
Depende de que juego estes haciendo una forma muy sencilla es utilizar la coordenada del proceso. En mi juego suelo fijar la z con z=-y/12; lo que hace que las criaturas al acercarse al borde más cercano automáticamente ya cambie la z para que se vean por encima de otras que estén más arriba.
Aunque sean dos procesos iguales seguro que hay algo que los diferencia, ya sea x, y, graph, alguna variable local, etc. Usa esa variable para fijar Z, siempre y cuando haya una relación directa entre ambas.