Это код Lua. Я хочу отправить XXPos, YYPos, ZZPos. Но в единстве3d Он получает только XXPos.Я хочу отправить данные из Lua в C#
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))
Данные получены правильно. Но этот результат имеет 1 цифру, как 3; 5; 2.
Как изменить этот код Lua?
Что вы подразумеваете под "этот результат имеет 1 цифру, как 3; 5; 2."? Кроме того, кажется, что udp: send() принимает только один аргумент, поэтому вам нужно собрать строку. string.format - это путь. – pschulz
Я хочу единорога радуги. – Jakuje
Чего вы ожидали? –