Estoy haciendo un juego online. lo que hago es, primero actualizo la cantidad de conectados.
Entonces, cuando abris el swf, verifica si hay alguien conectado, fijandose si hay elementos en el array personajes, si no hay elementos o no existe, crea el array personajes con un elemento que contenga los datos del usuario(ID,nombre,etc.).
la cantidad de personajes = cantidad de elementos del array, entonces:
cuando se conecto el primer usuario => cantidad de personajes = 1
Si otro mas se conecta, se le agrega otro elemento al array, hasta ahi todo bien, lo que no se hacer es como borrar el elemento del array cuando el usuario se desconecta. no encontre la forma de saber si se desconecto, osea cuando cierra el swf.
Este es el codigo que uso:
Código ActionScript :
import mx.utils.Delegate; _root.personaje.posx = 10 var nc:NetConnection = new NetConnection(); nc.connect("rtmp://localhost/oflaDemo"); var so:SharedObject = SharedObject.getRemote("luco", nc.uri, true); so.connect(nc); cpersonajes = so.data.personajes.length if (cpersonajes==undefined){ so.data.personajes = new Array() cpersonajes=1 mipersonaje=0 } else { mipersonaje = cpersonajes cpersonajes = cpersonajes + 1 } so.data.personajes[mipersonaje] = new Object so.data.personajes[mipersonaje].nombre = _root.nombre so.data.personajes[mipersonaje].posx = _root.personaje.posx so.data.personajes[mipersonaje].posy = _root.personaje.posy so.data.cpersonajes = cpersonajes function onEnterFrame() { if(_root.mueve){ so.data.personajes[mipersonaje].posx = _root.personaje.posx so.data.personajes[mipersonaje].posy = _root.personaje.posy } _root.personaje._x = so.data.personajes[mipersonaje].posx _root.personaje._y = so.data.personajes[mipersonaje].posy recibe.text = so.data.prueba }
espero que me puedan ayudar. gracias!