|
  
- 威望
- 8 点
- 银子
- 147 两
- 来自
- g686.com
|
沙发
发表于 2008-12-11 15:08
| 只看该作者
- private function __updateRoomStatus(_roomId){
-
- var roomList=__sfsClient.getAllRooms();
- //trace("==============================="+_roomId+" "+roomList);
- var room = roomList[_roomId];
-
- var newLabel = room.getName() + " (" + room.getUserCount() + ")";
-
- for (var i:Number=0; i < chat_mc.roomList_dg.length; i++) {
- var item = chat_mc.roomList_dg.getItemAt(i)
- if (_roomId == item.data) {
- chat_mc.roomList_dg.replaceItemAt({label:newLabel,data:item.data},i )
- break;
- }
- }
- chat_mc.roomList_dg.sortItemsOn("label", 1);
- }
- private function __sendChatMsg(e:MouseEvent){
- if (chat_mc.input_txt.text.length > 0){
-
- __sfsClient.sendPublicMessage(chat_mc.input_txt.text)
-
- chat_mc.input_txt.text = ""
- }
- }
- private function __onPublicMsg (e:SFSEvent):void{
- //trace("User " + e.params.sender.getName() + " said: " + e.params.message)
- chat_mc.chat_txt.text+="\n"+e.params.sender.getName()+" said :"+e.params.message;
- var $myAvater=__avatarMC.getChildByName(e.params.sender.getName());
- $myAvater.showPMsg(e.params.message);
- }
-
- private function __onUserLeaveRoom(e:SFSEvent):void{
- var usrId=e.params.userId ;
- var userList_lb=chat_mc.userList_dg;
-
- for (var i:Number = 0; i < userList_lb.length; i++){
- var item:Object = userList_lb.getItemAt(i);
-
- if (item.data == usrId){
- var usrName:String = item.label;
- userList_lb.removeItemAt(i);
- __avatarMC.removeChild(__avatarMC.getChildByName(usrName))
- /*for(var ii:String in __playerList){
- if(__playerList[ii].myName==usrName){
- removeChild(__playerList[ii]);
- trace("on leavaeroom remove "+__playerList[ii].myName);
- __playerList.splice(__playerList.indexOf(usrName),1);
- break;
- }
- }*/
- break;
- }
- }
-
-
- userList_lb.sortItemsOn("label", 1);
- chat_mc.chat_txt.text+="\n"+usrName+" logout !";
-
- }
- private function __onUserEnterRoom(e:SFSEvent):void{
- var tmpUser=e.params.user;
- chat_mc.userList_dg.addItem({label:tmpUser.getName(),data:tmpUser.getId()});
- chat_mc.userList_dg.sortItemsOn("label", 1);
- chat_mc.chat_txt.text+="\n"+tmpUser.getName()+" jion the room";
-
- var $avater_mc=new avater(tmpUser.getName());
-
- $avater_mc.x=tmpUser.getVariable("px");
- $avater_mc.y=tmpUser.getVariable("py");
- __avatarMC.addChild($avater_mc);
- //__playerList.push($avater_mc);
- trace("enter room "+tmpUser.getName()+" -------------"+$avater_mc.x+" --------------------- "+$avater_mc.y);
- }
- private function __cleanAvater():void{
- trace("cleanAvater: ");
- trace(__avatarMC.numChildren);
- var mcLength=__avatarMC.numChildren
- if(mcLength>0){
- for(var i:uint=0;i //trace(i);
- var $mc=__avatarMC.getChildAt(i);
- if($mc.name!=__usrNmae){
- __avatarMC.removeChildAt(i);
- i--;
- mcLength--;
- }
- }
- }
-
- }
- private function __onUserVariablesUpdate(evt:SFSEvent):void{
- var changedVars:Array = evt.params.changedVars
- var $user=evt.params.user
- //if (changedVars["px"] != null || changedVars["py"] != null) {
- trace("User " + evt.params.user.getName() + " moved to new coordinates:")
- trace("\t px: " + evt.params.user.getVariable("px"))
- trace("\t py: " + evt.params.user.getVariable("py"))
- trace("\t init: " + evt.params.user.getVariable("init"))
-
- if($user.getVariable("init")){
- var $name=$user.getName();
- var $mc=__avatarMC.getChildByName($name)
- if($mc==null || $mc==undefined){
- var avater_mc=new avater($name);
- avater_mc.x=$user.getVariable("px");
- avater_mc.y=$user.getVariable("py");
- __avatarMC.addChild(avater_mc);
- }else{
- $mc.x=$user.getVariable("px");
- $mc.y=$user.getVariable("py");
- }
- // __playerList.push(avater_mc);
-
- trace("init : -------------"+avater_mc.x+" "+avater_mc.y);
-
- }else{
- var tmpAvater2=new MovieClip();
- tmpAvater2=__avatarMC.getChildByName($user.getName());
- __moveAvater(tmpAvater2,$user.getVariable("px"),$user.getVariable("py"));
-
- }
- // }
-
- }
- private function __moveAvater(_mc:MovieClip,_px,_py):void{
- var startX:Number = _mc.x;
- var startY:Number = _mc.y;
- var finishX:Number = _px;
- var finishY:Number = _py;
- var duration:Number = 1;
- var myTweenX:Tween = new Tween(_mc, "x", Regular.easeOut, startX, finishX, duration, true);
- var myTweenY:Tween = new Tween(_mc, "y", Regular.easeOut, startY, finishY, duration, true);
- }
- private function __onLoginRoom(e:SFSEvent):void{
-
- var tmpRoom:Room= e.params.room
- var userList:Array = tmpRoom.getUserList()
-
- //chat_mc.chat_txt.text=">> user :"+__usrNmae+" jion the room ";
- chat_mc.userInfor_txt.text="login as >> "+__usrNmae;
- chat_mc.userList_dg.removeAll();
- trace("usr list : "+userList);
- __cleanAvater();
- if(userList.length>0){
- for (var i:String in userList){
- //trace("login>> "+userList[i].getName());
- var $user:User = userList[i]
- var tmpLabel=$user.getName();
- var tmpData=$user.getId();
- if(tmpLabel!=__usrNmae){
- var player_mc=new avater(tmpLabel);
- //player_mc.name_txt.text=tmpLabel;
- var uVars = $user.getVariables();;
- player_mc.x=uVars.px;
- player_mc.y=uVars.py;
- // __playerList.push(player_mc);
- __avatarMC.addChild(player_mc);
- }
-
- chat_mc.userList_dg.addItem({label:tmpLabel,data:tmpData});
- chat_mc.chat_txt.text="\n"+tmpLabel+" jion "+tmpRoom.getName();
-
- }
- }
- __createMyAvater();
- chat_mc.userList_dg.sortItemsOn("label", 1);
-
-
- }
- private function __createMyAvater():void{
- if (!__inited){
- //var col = int(Math.random() * 8) + 1
- //myAvatar = avatarMC.attachMovie("avatar", "avatar_" + smartfox.myUserId, 99999)
- //myAvatar.disc.gotoAndStop(col)
- __myPlayer=new avater(__usrNmae);
- //__myPlayer.name.text = _global.myName
- var px = int(Math.random() * (__areaW - __myPlayer.width / 2)+150)
- var py = int(Math.random() * (__areaH - __myPlayer.height / 2))
- __myPlayer.x = px
- __myPlayer.y = py
- //__myPlayer=new MovieClip();
- __avatarMC.addChild(__myPlayer);
- // Store the avatar position on the server
- __sfsClient.setUserVariables({px:px, py:py,init:true})
-
- __inited = true
- stage.addEventListener(MouseEvent.CLICK,__onMouseClick);
- //Mouse.addListener(myMouse)
-
- }
- }
- private function __onMouseClick(evt:MouseEvent):void{
- if (__inited){
-
- var px = int(evt.stageX)
- var py = int(evt.stageY)
-
- if ((px > (__avatarW/2+150)) && (px < (__areaW - __avatarW/2+150)) && (py > __avatarH/2) && (py < __areaH - __avatarH/2)) {
-
- __sfsClient.setUserVariables({px:px, py:py, init:false})
- __moveAvater(__myPlayer,px,py);
-
- trace("px = "+px,"py = "+py);
- }
- }
-
- }
- private function __onRoomUpdate(e:SFSEvent):void{
- chat_mc.roomList_dg.removeAll();
- var roomList=e.params.roomList
- for (var r:String in roomList){
- //trace(e.params.roomList[r].getName())
- var room = roomList[r];
- var tmpUserNum=room.getUserCount();
- var tmpLabel=room.getName()+"("+tmpUserNum+")";
- var tmpData=room.getId();
- // trace(tmpLabel,"-----------------------------"+tmpData);
- chat_mc.roomList_dg.addItem({label:tmpLabel,data:tmpData});
- }
- chat_mc.roomList_dg.sortItemsOn("label", 1);
- __sfsClient.autoJoin();
-
- }
- private function __onLogin(e:MouseEvent):void{
- __usrNmae=login_mc.login_txt.text;
- if(__usrNmae==""){
- __usrNmae="guest"+String(Math.round(Math.random()*900+100));
- }
- login_mc.login_txt.text="";
- //__login("SFSmoveTest","mainHall");
- //trace(__usrNmae);
- login_mc.visible = false;
- chat_mc.visible = true;
- __sfsClient.login(__zone, __usrNmae, "");
- }
- private function __onConnectionLost(e:SFSEvent):void{
- trace("Connection lost!");
- chat_mc.chat_txt.text="";
- __init();
- }
- private function __onConnect(e:SFSEvent) : void {
- if (e.params.success){
- trace("Connection successful");
- login_mc.visible = true;
- login_mc.status_txt.text="connected , plaese login ";
- }else{
- trace("Connection failed");
- tips_mc.visible = true;
- tips_mc.tips_txt.text="can't connect the SFS !";
- }
- }
-
- private function __connectSfs(_ip : String,_p : uint) : void {
- __sfsClient=new SmartFoxClient();
- __sfsClient.debug = true
- __initEvt();
- __sfsClient.connect(_ip,_p);
- }
- }
- }
复制代码 代码未完接下帖 |
|