我需要一些帮助找出我的代码发送信息从搅拌机通过TCP连接到纯数据。我有一个表面,上面有一个滚动的球,我需要抓住球的速度和它的碰撞,以便通过TCP将其发送到Pd,以便将数据转换为程序音频。
我一直在寻找这样做的可能方法,由于我对python和编码的了解非常有限,到目前为止(刚刚开始),我发现很难看到发生了什么。
现在我的问题是:
我知道我可以通过在blender中编写以下代码来发送一个简单的代码字符串,这对我很有效:
import socket
host ='127.0.0.1'
port = 50007
msg = '345;'
s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect((host,port))
s.send(msg.encode())
我知道我可以编写下面的代码来从我的对象中获得坐标:
import bge
def main():
cont = bge.logic.getCurrentController()
owner = cont.owner
vel = owner.getVelocity()
x = (vel [0])
y = (vel [1])
z = (vel [2])
print (x+y+z)
main()
我需要弄清楚的是如何将这些信息插入到my.send中,这样我就可以以纯数据的形式接收它。我已经在网站上看过如何让这个工作,但还没有找到我需要的。我想知道是否有人有一些好的资源来关注这一点,或者是否有人知道如何将我的owner.getVelocity()集成到tcp消息中?
发布于 2012-11-29 07:43:17
编辑:
我想我自己解决了它,我现在在PD中得到我的数据流。
如果有人感兴趣,请看下面的代码:
import bge
import socket
cont = bge.logic.getCurrentController()
owner = cont.owner
vel = owner.getVelocity()
x = (vel [0])
y = (vel [1])
z = (vel [2])
added = x+y+z
print (added)
tsr = str(added)
tsr += ';'
host = '127.0.0.1'
port = 50007
msg = '123456;'
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
s.send(tsr.encode())
s.shutdown(0)
s.close()
耽误您时间,实在对不起!
安德烈亚斯
https://stackoverflow.com/questions/13606219
复制相似问题