Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过套接字Udp C实现统一控制对象#_C#_Unity3d_Udp - Fatal编程技术网

C# 通过套接字Udp C实现统一控制对象#

C# 通过套接字Udp C实现统一控制对象#,c#,unity3d,udp,C#,Unity3d,Udp,我在unity中有一个对象,我想使用Visual Studio 2012(C#)通过udp控制移动。我已经测试了发送和接收聊天,并且已经成功了 我已经测试了MoveObjectOnGUI的脚本,它也很成功。现在,我想控制对象转换或转换,从udp接收得到的命令字符串,但对象没有移动 这是我收到的密码 private void ReceiveData() { client = new UdpClient(port); while (true) { try

我在unity中有一个对象,我想使用Visual Studio 2012(C#)通过udp控制移动。我已经测试了发送和接收聊天,并且已经成功了

我已经测试了MoveObjectOnGUI的脚本,它也很成功。现在,我想控制对象转换或转换,从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());
        }
    }
}

我发送的字符串已收到,但对象无法移动。

首先,您必须检查“speedloc”的值。如果为null或零,则对象无论如何都不会移动

另外,我建议您将这一行从

satelit.transform.Translate (speedloc,0,0 * Time.deltaTime);


“不起作用”不是问题描述。问题中的switch语句是否运行?对不起,我的英语很差
satelit.transform.Translate (new Vector3(speedloc,0,0) * Time.deltaTime);