我想在 Lua 中向 C# 发送数据

这是 Lua 代码。我想要发送 XXPos、YYPos 和 ZZPos。但在 Unity3D 中,它只能接收 XXPos。

socket = require("socket")
print(socket._VERSION)

function dataListener:post( t )

  local XPos = ship.rb:getPosition():x()
  local YPos = ship.rb:getPosition():y()
  local ZPos = ship.rb:getPosition():z()
  local XXPos = math.floor( XPos * 1000 + 0.5 ) / 1000
  local YYPos = math.floor( YPos * 1000 + 0.5 ) / 1000
  local ZZPos = math.floor( ZPos * 1000 + 0.5 ) / 1000

  udp=socket.udp();
  udp:setpeername("127.0.0.1",8051)
  udp:send(XXPos, " ", YYPos, " ", ZZPos);
end

当我像这样修改 Lua 代码时,

--udp:send(XXPos, " ", YYPos, " ", ZZPos)
udp:send(string.format("%d; %d; %d",XXPos,YYPos,ZZPos))

数据可以正确接收。但这个结果只有一个数字,如 3; 5; 2。

我该如何修改这个 Lua 代码?

点赞
用户3785314
用户3785314
`udp:send(string.format("%d; %d; %d",XXPos,YYPos,ZZPos))`

应该改为 `udp:send(string.format("%f; %f; %f",XXPos,YYPos,ZZPos))`

注意 `%f` 表示浮点数。
2016-06-05 13:08:15