0

マルチユーザー アプリケーション(チャット) (Flash CS6 AS3)を使用しており、ピーク時にユーザーリストに300 人以上のユーザーがいます。ユーザーリストが更新されると SWF が遅くなり、300 人以上のユーザーを削除および追加していることに気付きました。だから私の質問は、リスト全体を再入力せずに、切断したばかりのユーザーを削除するか、接続したユーザーを追加して、リストコンポーネントを更新する方法はありますか? ありがとうございました!

これは現在のコードです:

//The function gets called everytime a SYNC is sent from server (FMS)  
function syncEventHandler(event:SyncEvent)
        {
                list1.removeAll();
                for (var i in users_so.data)
                {
                    if (users_so.data[i] != null)
                    {
                        var clientObj = users_so.data[i];

                           list1.addItem({label:clientObj.UserName});
                     }


            }
    }
4

1 に答える 1

1

ユーザー リストを ArrayCollection に保存してみてください (.getItemIndex() と組み合わせて使用​​して、基になる配列のメンバーを管理できる .addItAt() および .removeItemAt() メソッドがあります)。

于 2013-10-10T03:58:54.637 に答える