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!
