我有一个统一的对象,我想使用visual studio 2012(c#)通过udp控制运动 我测试发送和接收聊天,已经成功了 我已经测试了移动对象ongui的脚本及其成功完全... 现在我想控制对象转换或从我从udp接收到的命令字符串转换但是没有移动的对象。
这是我收到的代码
private void ReceiveData()
{
client = new UdpClient(port);
while (true)
{
try
{
// Bytes empfangen.
IPEndPoint anyIP = new IPEndPoint(IPAddress.Any, 0);
byte[] data = client.Receive(ref anyIP);
// Bytes mit der UTF8-Kodierung in das Textformat kodieren.
string text = Encoding.UTF8.GetString(data);
switch (text)
{
case "loc+x" :
{
satelit.transform.Translate (speedloc,0,0 * Time.deltaTime);
break;
}
case "loc-x" :
{
satelit.transform.Translate (-speedloc,0,0 * Time.deltaTime);
break;
}
}
// Den abgerufenen Text anzeigen.
print(">> " + text);
// latest UDPpacket
lastReceivedUDPPacket=text;
// ....
allReceivedUDPPackets=allReceivedUDPPackets+text;
}
catch (Exception err)
{
print(err.ToString());
}
}
}
收到我发送的字符串但对象无法移动
答案 0 :(得分:2)
首先,您必须检查“ speedloc”的值。如果它为null或零,则您的对象将不会移动。
另外,我建议您将这一行更改为
satelit.transform.Translate (speedloc,0,0 * Time.deltaTime);
到
satelit.transform.Translate (new Vector3(speedloc,0,0) * Time.deltaTime);