因此,我和我的团队一直在用Python + Unity进行交互式桌面塔防游戏,该游戏的输入由IRL塔提供,并在Python中被检测到,然后通过UDP发送给Unity。我们已经找到了一种可行的解决方案,用于检测x + y并通过UDP发送并将它们分为X和Y,但是当Unity接收位置时,它只是保存在变量中的最后一个。
因此,我们希望将数据保存在数组中,因此我们可以遍历数组以实例化对象及其位置。但是,我们对此一无所知,并寻求您的帮助。
这是我们用于接收X + Y的代码:
public void ReceiveData() {
client = new UdpClient (port);
while (true) {
try {
IPEndPoint anyIP = new IPEndPoint(IPAddress.Parse("127.0.0.1"), port);
byte[] data = client.Receive(ref anyIP);
string text = Encoding.UTF8.GetString(data);
string[] texts = text.Split(',');
string textX = texts[0];
string textY = texts[1];
print (">> " + text);
lastReceivedUDPPacket = text;
allReceivedUDPPackets = allReceivedUDPPackets + text;
xPos = float.Parse(textX, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture);
yPos = float.Parse(textY, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture);
}
catch(Exception e) {
print (e.ToString());
}
}
}
希望您能提供帮助,并在此先感谢:)