前言:在写各类游戏编程中,都会遇到一个问题,就是位置问题,服务端的位置是与客户端的位置是不同的,这中间需要进行一个转化,客户端一套代码运行,不管是任何人登陆,该位置始终都是在屏幕正下方,所以这样就要进行一个转化,几乎棋牌类的游戏都会有这个问题。
下面是转化的一小段代码实例:
1 var side = this.getSide(trueSide, this.myTrueSide);//调用一个方法,传入服务器的位置与客户端的位置 2 3 4 getSide : function (trueSide, myTrueSide){//实现该方法 5 switch (gm.PLAYERS_NUM){//循环游戏人数 6 case 4://四人麻将 7 var side = ((trueSide - myTrueSide) >= 0 ? (trueSide - myTrueSide): (trueSide - myTrueSide + 4)); 8 break; 9 case 3://三人麻将 10 var side = ((trueSide - myTrueSide) >= 0 ? (trueSide - myTrueSide): (trueSide - myTrueSide + 4)); 11 if (side==2){ 12 if (myTrueSide==2){ 13 side = 1; 14 }else if (myTrueSide==0){ 15 side = 3; 16 } 17 } 18 break; 19 case 2://两人麻将 20 var side = (trueSide- myTrueSide) ==0? 0 : 2; 21 break; 22 } 23 return side;//返回该位置 24 }