0

通过发送列表 currentTargetPos 中的位置数据来更新框的位置。但是当我在某个循环中运行以下代码时,VPython 会显示给出的所有位置框的轨迹。显示器有这种情况。我想显示最近放置的盒子。如何更新场景?

from visual import *
bluebox=box(pos=vector(currentTargetPos[0], currentTargetPos[1], currentTargetPos[2]), size=  (1,1,1),color=color.cyan)
while 1:
    rate(100)
    break 

编辑:我没有盒子的速度数据。所以我不能使用速度更新位置。所以这基本上不是严格意义上的动画,因为 while 循环总是会中断。但是,我想让它看起来像动画。

4

1 回答 1

0

如果您每次更新位置时都运行上述代码,那么您每次都在创建一个新框,该框将在每个使用的位置显示它的多个副本。

如图所示,您的循环实际上并没有做任何事情。如果您想单步执行一个值列表,您可以在循环内执行此操作(我假设这currentTargetPos是一个组件列表,x,y,z,,x,y,z,x,y,z 等.):

counter = 0
while 1:
    rate(100)
    bluebox.pos = vector(currentTargetPos[z]+currentTargetPos[z+1]+currentTargetPos[z+2])
    counter = counter + 3
于 2014-09-15T00:15:35.957 回答