提前感谢您的阅读。在过去的两周里,我一直在努力解决这个问题,一直在进行大量研究,并且有很多部分只需要知道如何将它们组合在一起。
所以我使用的是 flash 和 smartfoxserver pro。
我想创建一个大厅,人们可以在那里举办游戏并寻找比赛。
这是一个基于回合的角色扮演游戏,所以我希望能够按玩家等级或等级对玩家进行排序。
我想做的是,创建一个数组来保存当前正在等待比赛的球员。
我可以用这个做到这一点
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 中获取房间列表信息。
无论如何,我还可以循环浏览从房间列表创建的房间对象中的用户吗?
我试过了
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、号码、名称等,并制作一个漂亮的电影剪辑来显示所有这些信息以及一个决斗按钮。然后当人们按下决斗时,它已经知道去另一个人正在等待比赛的房间。
澄清一下,这是我第一次发帖,所以请原谅任何格式问题,再次感谢您感谢您的阅读和您的帮助!