В настоящее время я работаю над пошаговой многопользовательской игрой, использующей stage3D. Когда сервер отправляет объект, например, код ниже, все идет очень гладко на стороне клиента.
package models
{
public class Player
{
public var type:String = "player";
private var _action:String;
private var _id:int;
private var _username:String;
private var _nickname:String;
public function Player()
{
}
public function get id():int
{
return _id;
}
public function set id(value:int):void
{
_id = value;
}
public function get username():String
{
return _username;
}
public function set username(value:String):void
{
_username = value;
}
public function get nickname():String
{
return _nickname;
}
public function set nickname(value:String):void
{
_nickname = value;
}
public function get action():String
{
return _action;
}
public function set action(value:String):void
{
_action = value;
}
public function toString():String
{
return("id: " + id + " username: " + username + " nickname: " + nickname + "");
}
}
}
Но когда я помещаю массив в объект, массив всегда возвращает длину 0. И теперь у меня нет выбора. Я использовал registerClassAlias
package models
{
/**
* ...
* @author RB
*/
public class ListOfPlayers
{
public var type:String = "list_of_players";
private var _list:Array = new Array();
public function ListOfPlayers()
{
}
public function remove(i:int):void
{
_list.slice(i);
}
public function add(player:Player):void
{
_list.push(player);
}
public function get list():Array
{
return _list;
}
}
}
}