Estoy haciendo un juego de disparos multijugador y resulta que se ve a los otros personajes moverse a una velocidad diferente a la real, esto esta causado por que los bucles que animan a los otros personajes , estan funcionando a una velocidad diferente a los bucles que animan al personaje que manejamos, no se que puede estar causando esa diferencia, por que el codigo que mueve a los otros personajes y al que manejamos es identico. (problema del server no es)
Los bucles for y setinterval que mueven a los otros personajes y los que mueven al personaje que manejamos tienen los mismos valores de repeticion y casi el mismo contenido dentro de ellos, (exepto por una cosa que aclaro mas abajo, que creo que es lo que causa el problema) exepto eso todos los valores son los mismos, entonces no se por que pasa esto.
Aqui les pongo una version simplificada con comentarios, del codigo que meve a los otros personajes:
Código :
setInterval(animar_los_otros_PJ, 10) //se ejecuta el intervalo cada 10 milisegundos para que la animacion sea fluida
function animar_los_otros_PJ(){
//Se toma el usuario desde un array que se llena en otra parte del codigo, con todos los usuarios
//que van entrando al juego
for ( u = 0; u < usuarios.length; u++){
id_usuario = usuarios[u]
var mc:MovieClip
//En otra prarte del codigo se crean movielcips con los otros PJ con nombres por ejemplo: "PJ_4"
mc = contenedor["PJ_" + id_usuario]
//este for es necesario por un tema de suavidad al caminar sobre terreno irregular
for (var i = 0; i < 20; i++) {
if (suelo.hitTest(mc._x, mc._y - 1)) {mc._y -= .5}
}
//Se activa la gravedad hacia abajo si no esta tocando el suelo
if (tocando_el_suelo = false ){
mc._y += fuerza_gravedad
}
updateAfterEvent()
// end del for del array de los usuarios
}
//end function animar_los_otros_PJ()
}Obviamente la unica diferencia entre este codigo y el que mueve al personaje que manejamos, es el otro bucle for que maneja dinamicamente los movieclips con la cantidad X de usuarios que haya dentro del juego. (tercera linea)
Intente recrear este codigo simplificadolo en otro documento a parte y daba el mismo problema de sincronizacion, parece que es por ese bucle que maneja los usuarios que precisamente acelera mas de lo que deberia a la modificacion del valor _x de cada usuario. Osea que cae mas rapido y tambien camina mas rapido el otro personaje que el que manejamos. Eso no deberia pasar no?
mis preguntas son:
¿es por ese bucle que pasa esto o a lo mejor es otra cosa?
si es por ese bucle ¿como puedo manejar multiples mc de otra manera o bien compensar esta diferencia o cual seria la forma de solucionarlo?
ayudaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa o me van a pegar un tiro , estoy programando para unos de la mafia y si no lo termino me van a matar!!!!!!!!
saludos
