我有一个问题,我想去(通过增量0.01)从0到1(该位很容易)如果一个外部条件(这是自动计算)是假的,并停止计数器,如果条件是真的。你知道吗
条件是两个对象之间发生了碰撞。我知道这部分工作正常,因为我已经测试了它手动和在一个循环。但是,如果发生碰撞,停止计数器是很棘手的。我肯定我错过了一件非常简单的事情。你知道吗
def autoHandClose():
global collisionDeteched # this is set to false but on collision correctly changes to true
counter = 0
for x in range(100):
if collisionDeteched == False:
counter = counter + 0.01
h.setGesture(hand.GESTURE_FIST, closeThumb=True, weight = counter)
else:
break
权重参数是从0到1(因此我想从0到1来关闭手部的原因)我可以关闭手部,但如果检测到碰撞,就无法让它停止。此方法分配给键盘按键。你知道吗
我猜逻辑是错的,对吧?你知道吗
“collisionDetected”检查是否在此循环的并行线程上运行?否则,您将永远不会退出循环,因为collisionDetected的值将永远不会更新。是这样吗?你知道吗
另请注意:
您可能希望更改for循环,使其看起来更像这样,以使代码更清晰:
这将减少在循环中设置计数器的需要。你知道吗
相关问题 更多 >
编程相关推荐