rcom10002 / ccgclient

Automatically exported from code.google.com/p/ccgclient
0 stars 1 forks source link

关于游戏大厅模型结构中的displayIndex #25

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
目前,displayIndex与客户端程序紧密相连,如果数字不连续,��
�导致管理员的游戏参数管理和游戏大厅
在显示房间环节出错。

解决方案:将displayIndex作为位置显示的一个参考,即用于模��
�结构的排序,排序过程中,用程序重新
分配实际的displayIndex,以保证控件的displayIndex保持连续性。

Original issue reported on code.google.com by rcom10002 on 8 Aug 2009 at 3:53

GoogleCodeExporter commented 9 years ago
比如有5个房间,displayIndex分别为1,11,4,4,9

首先需要排序成1,4,4,9,11,然后按照这个顺序现在到画面上,�
��序不要过多依赖于displayIndex,否则该参数
的改变可能会引起程序出错,可以参考LobbyStateManager.as的做法
,即便服务器端给出的序号不连续,也可以按
照该正常显示

// 构造排序函数
var sort:Function = function(container:Container):void {
    // 构造临时数组
    var children:Array = new Array();
    var eachChild:DisplayObject = null;
    for each (eachChild in container.getChildren()) {
        children.push(eachChild);
    }
    // 将临时数组排序
    children.sort(function (obj1:*, obj2:*):Number {
        var displayIndex1:Number = Number(obj1["data"]);
        var displayIndex2:Number = Number(obj2["data"]);
        return displayIndex1 == displayIndex2 ? 0 : (displayIndex1 > displayIndex2 ? 
1 : -1);
    });
    // 重新制定显示位置
    container.removeAllChildren();
    for each (eachChild in children) {
        container.addChild(eachChild);
    }
};

Original comment by rcom10002 on 4 Sep 2009 at 3:26

GoogleCodeExporter commented 9 years ago
如果做完了测试没有问题就把状态给改了

Original comment by rcom10002 on 11 Sep 2009 at 7:26

GoogleCodeExporter commented 9 years ago

Original comment by songjie8...@gmail.com on 14 Sep 2009 at 2:09