bge python 如果语句 获取线性速度
我刚开始接触脚本和编程,虽然对一些基本概念有点了解,但还是需要一些帮助。我不太确定自己搜索的词是不是正确的,想要做的事情有点模糊。
我想在Blender游戏引擎2.71中实现一个简单的if语句。具体来说,我需要获取一个物体的全局线性速度,然后检查这个速度在所有方向上是否都等于0。如果是这样的话,我想在xyz三个方向上增加一些线性速度。
这是我现在写的代码,但当然它并没有工作:(请不要讨厌我,我还是个新手)
import bge
from bge import logic
scene = logic.getCurrentScene()
cube = logic.getCurrentController().owner
speed = cube.getLinearVelocity()
if all(speed == 0):
cube.setLinearVelocity([0, 0, 10], False)
1 个回答
1
因为你只是在检查速度为零的情况,所以你可以使用:
if sum(speed) == 0:
cube.setLinearVelocity([0, 0, 10], False)
这里的 sum()
是 Python 内置的一个函数,用来计算一个 list
中所有数值的总和。