目前,我正在使用带有 Godot 的高级多人游戏 (ENET) 来生成两个玩家节点(使用 KinematicBody2D 和碰撞)。由于碰撞导致问题的原因,我不能让玩家在相同的坐标中产卵,所以我试图让它们彼此相邻产卵。
我把我的 Player.gd 放在这个pastebin 链接上,它有我要调试的代码。
我遇到的问题是试图让客户端和服务器在我在玩家场景初始化时设置的坐标处生成玩家。目前,客户端和服务器可以正确定位自己,但其他玩家在 (0,0) 处闲逛,直到我移动玩家。
玩家运动完美无缺,因此即使该代码在粘贴中,它也与这个问题无关。
客户的标准输出是
Connecting to Server!!!
Player Connected!!!
Network Master: 151057035
Player ID: 151057035
Client Position - Master: 151057035
Player: 151057035 Set Position: (500, 250)
Own ID: 151057035 Player ID: 151057035
Caller ID: 0
Network Master: 1
Player ID: 151057035
Server Position - Master: 1
Player: 1 Set Position: (300, 250)
Player: 1 Set Position: (300, 250)
Player: 151057035 Set Position: (500, 250)
Own ID: 151057035 Player ID: 151057035
Caller ID: 1
服务器的标准输出是
Hosting Server!!!
Player Connected!!!
Network Master: 1
Player ID: 1
Server Position - Master: 1
Player: 1 Set Position: (300, 250)
Own ID: 1 Player ID: 1
Caller ID: 0
Network Master: 959488417
Player ID: 1
Client Position - Master: 959488417
Player: 959488417 Set Position: (500, 250)
Player: 959488417 Set Position: (500, 250)
Player: 1 Set Position: (300, 250)
Own ID: 1 Player ID: 1
Caller ID: 959488417