服务器改变用户信息后传回值并在客户端进行处理

本文展示了一个VRML场景,其中包含两个按钮(变大和变小),用于改变用户在服务器上的状态。当用户点击按钮时,客户端会更新用户信息,并通过NetSyncer同步到服务器。服务器端通过监听用户信息变化来调整用户对应的盒子大小。
摘要由CSDN通过智能技术生成

案例:点击变大变小的按钮改变当前状态,同步到服务器上。(服务器端改变用户属性)

 

客户端的代码

 

#VRML V2.0 utf8

 

DEF allplay Transform {

       translation       0 0 0

       children [

      

       ]

}

 

 

DEF myBoxUI GUIGroup {

 

       imagesets ["datas/imagesets/IPhone.imageset"]

       lookfeels ["datas/looknfeel/IPhone.looknfeel"]

       schemes  ["datas/schemes/IPhone.scheme"]

 

       children [

      

              DEF turnBig GUIWindow {

                     type "IPhone/Button"

                     size 0.1 0.1

                     position 0.8 0.8

                     text "turn big"

              }

              DEF turnSmall GUIWindow {

                     type "IPhone/Button"

                     size 0.1 0.1

                     position 0.65 0.8

                     text "turn small"

              }    

      

       ]

 

}

 

 

 

DEF system System {}

 

DEF script_easyServer Script {

 

       eventIn    SFBool click_turnBig

       eventIn    SFBool click_turnSmall

 

       field SFNode tempSFNode NULL                             #存入节点的变量

       field SFNode allplay USE allplay

       field SFString Bname ""                                            #存放用户名信息

       field SFString Bsize "test_mybox_Tbox_Bsize"    #存放用户大小信息

       field SFString Btran "test_mybox_Tbox_Btran"    #存放用户坐标信息

       field SFString Bchange "test_mybox_Tbox_Bchange"  #存放用户改变的状态

 

       url   "javascript:

 

       //点击后用户大小信息改变

       function click_turnBig(v){     

 

              var usertemp = SFNode.get('userinfo');

              usertemp[Bchange]='big';

 

       }

       function click_turnSmall(v){

      

              var usertemp = SFNode.get('userinfo');

              usertemp[Bchange]='small';

      

       }

       //用户信息同步信息时自动调用

       function lyinuxUserSync(user,fields,timeouts){

              //拿到已经改变的信息

              alert('Box{ }===>'+SFNode.get(user['test_mybox_Tbox_Bname']+2));

             

              alert(user['test_mybox_Tbox_Bname']);

              //得到需要改变的信息 

              var chengebox = SFNode.get(user['test_mybox_Tbox_Bname']+2);

             

              chengebox.size[0] = user[Bsize][0];

              chengebox.size[1] = user[Bsize][0];

              chengebox.size[2] = user[Bsize][0];

              alert('改变盒子的大小'+chengebox.size);

       }

       //用户进入空间时调用

       function lyinuxEnterSpace(user,space,others){

              alert(user.getName());

              alert('user[test_mybox_Tbox_Bname] == '+user['test_mybox_Tbox_Bname']);

              Bname = user['test_mybox_Tbox_Bname'];

              alert('Bname===='+Bname)

                     alert('others======'+others[0]);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值