Clase singleton
Código ActionScript :
package
{
import p2p.Connection;
public class Singleton
{
private static var _instancia:Singleton=null;
private var _conn:Connection=null;
public function Singleton(e:SingletonEnforcer)
{
}
public function getInstace (pconn:Connection=null):Singleton{
if (_instancia==null){
_conn=pconn;
_instancia=new Singleton(new SingletonEnforcer())
}
return _instancia;
}
public function nuevoPersonaje (user:String, equipo:int, tipo:int):void{
var msg:Object = {type:"nuevoPersonaje"};
msg.user=user;
msg.equipo=equipo;
msg.tipo=tipo;
_conn.postMessage(msg);
}
public function aparecePersonaje (user:String, dondeAparece:int):void{
var msg:Object = {type:"aparecePersonaje"};
msg.user=user;
msg.dondeAparece=dondeAparece;
_conn.postMessage(msg);
}
public function muere (user:String):void{
var msg:Object = {type:"muere"};
msg.user=user;
_conn.postMessage(msg);
}
public function empiezaMovimiento (user:String, direccion:int):void{
var msg:Object = {type:"empiezaMovimiento"};
msg.user=user;
msg.direccion=direccion;
_conn.postMessage(msg);
}
public function terminaMovimiento (user:String, direccion:int):void{
var msg:Object = {type:"terminaMovimiento"};
msg.user=user;
msg.direccion=direccion;
_conn.postMessage(msg);
}
public function dondeMira (user:String, direccion:int):void{
var msg:Object = {type:"dondeMira"};
msg.user=user;
msg.direccion=direccion;
_conn.postMessage(msg);
}
public function sync (user:String, x:int, y:int):void{
var msg:Object = {type:"sync"};
msg.user=user;
msg.x=x;
msg.y=y;
_conn.postMessage(msg);
}
}
}
class SingletonEnforcer{
}Codigo del main
Código ActionScript :
s.getInstace(_conn);
Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
La propiedad que aparece como nula es s.
