sendnpc = (npc2alive,Orinpc3,Posnpc3)
Data = dumps((PosYou,OriYou,Shoot,txtt,Posnpc,Orinpc,npcalive,Posnpc2,Orinpc2,sendnpc))
我正在将此材料发送到另一台计算机,问题是我在打开包装时。
脚本的解包部分如下所示:
Data, SRIP = GameLogic.sClient.recvfrom(1024)
UPData = loads(Data)
PosServer = [UPData[0][0],UPData[0][1],UPData[0][2]]
OriServer = [UPData[1][0],UPData[1][1],UPData[1][2]]
Server.setPosition(PosServer)
Server.setOrientation(OriServer)
Server.KeySens = UPData[2]
Pump1Shoot = UPData[2]
txt1.Text = UPData[3]
text = text + UPData[3]
Posnpc = [UPData[4][0],UPData[4][1],UPData[4][2]]
Orinpc = [UPData[5][0],UPData[5][1],UPData[5][2]]
npc.setPosition(Posnpc)
npc.setOrientation(Orinpc)
npcalives = UPData[6]
Posnpc2 = [UPData[7][0],UPData[7][1],UPData[7][2]]
Orinpc2 = [UPData[8][0],UPData[8][1],UPData[8][2]]
npc2.setPosition(Posnpc2)
npc2.setOrientation(Orinpc2)
npc2alives = UPData[9][0]
Posnpc3 = [UPData[9][1][0],UPData[9][1][1],UPData[9][1][2]]
Orinpc3 = [UPData[9][2][0],UPData[9][2][1],UPData[9][2][2]]
npc3.setPosition(Posnpc3)
npc3.setOrientation(Orinpc3)
解包部分一直有效,直到我从接收的数据(即在元组内)得到第 9 个变量。问题是因为我发送了一个嵌套在另一个元组中的元组,所以当我解包它时,它看起来像这样:
PosYou,OriYou,Shoot,txtt,Posnpc,Orinpc,npcalive,Posnpc2,Orinpc2(npc2alive,Orinpc3,Posnpc3)
现在我的问题很简单,我怎样才能正确解压呢?