提前感谢您的阅读。在过去的两周里,我一直在努力解决这个问题,一直在大力研究并且需要知道如何将它们组合在一起。
所以我正在使用flash和smartfoxserver pro。
我想创建一个大厅,人们可以在那里举办比赛,并寻找比赛。
这是一个基于回合制的RPG,所以我希望能够根据玩家的等级或级别对人进行排序。
我想要做的是,创建一个数组,用于保存当前等待比赛的玩家。
我能用这个
做到这一点smartfox.onRoomListUpdate = function(roomList:Object)
{
roomList_lb.removeAll()
_global.roomlist = roomList;
for (var i:String in roomList)
{
var room:Room = roomList[i]
if (room.isGame())
{
_root.userArray.push([room.getId(),room.getName(),_global.monLev]);
createPlayerCard("playerCard",200*quicknum,100+ynum,room.getName(),200, room.getId());
quicknum+=300;
}
}
roomList_lb.sortItemsBy("label", "ASC")
}
我还可以使用我在之前显示的函数中创建的全局房间列表变量在onJoinRoom中获取roomList信息。
无论如何,我还可以在房间列表中创建的房间对象中循环访问用户吗?
我试过
smartfox.onJoinRoom = function(roomObj:Room)
{
if (roomObj.isGame())
{
trace("_________________________joining room");
_global.myID = this.playerId;
var roomid:Number = roomObj.getId();
sendValues()
trace("room id "+roomid);
}
else
{
trace("roomlist "+_global.roomlist);
for (var i:String in _global.roomlist)
{
trace("lookign in");
var room:Room = _global.roomlist[i]
if (room.isGame())
{
trace(room.getName() + " (" + room.getUserCount() + "/" + room.getMaxUsers()+ ")-(" + room.getSpectatorCount() + "/" + room.getMaxSpectators() )
var roomId:Number = room.getId()
var userList:Object = room.getUserList()
for (var i:String in userList)
{
var user:User = userList[i]
var uName:String = user.getName()
var uId:Number = user.getId()
trace(uName + " " + uId)
}
}
}
}
}
这种方式我认为我可以从房间列表房间对象中获取用户变量,其中包含排名,级别,可能是头像图像。然后存储房间ID,号码,名称等,并制作一个漂亮的电影剪辑,以显示所有这些信息以及决斗按钮。 然后,当人们按决斗时,它已经知道要去另一个人等待比赛的房间。
试着说清楚,这是我第一次发帖,原谅任何格式问题,再次谢谢谢谢谢谢你的阅读和帮助!