按下 P,看看控制台窗口,看看有些什么好东东。Now choose your poison and lets move on, for
sake of the tute, ill choose to use DLoc.(这句话不知道啥意思……——译者 -_-!)
去掉那行print代码,加入这些: 代码:
speed = move.getDLoc()[1]
最后浏览一下。前面4行设置了我们所需要的变量。接下来的两个“if”语句决定了“go”应该等于0还是1,而再接下来的两个判断语句在“go”等于1时会启用动作,而在“go”等于0时复位并关闭动作。
这里还有一些基本的信息:
关于数组(list,不过似乎python里这个都翻译为“列表”。——译者注):
数组是十分常用的数据结构。它把一些信息或变量简单的用方括号合在了一起。例如,getDLoc()函数返回一个数组如 [0, 0, 0, 1] 。要知道关于数组的更多信息,请阅读随python附带的文档。
布尔操作(if,elif,else,while):
~“if”语句非常简单。 if 条件成立,那么就做某事……
~“elif”语句是用在“if”语句之后的,它的含义是“如果之前的条件不成立而这个条件成立,那么就做某事……”(“elif”的含义其实就
是“else if”。——译者注)。例如:如果没有按向上的方向键,但是向下的方向键被按下了,那么 own.go =
1。你可以在一个“if”语句之后接上多个“elif”。阅读python文档可以获得更多的信息。
~“else”的含义是“如果所有的条件都没有成立,那么就做某事……”
~“while”语句是这样使用的: 代码:
while own.go ==1:
value = value + 1
……
其含义是:当 own.go 等于1时,就不停地给“value”增加1。可是对我来说使用“while”总是出错,会让blender失去响应。(个人认为……这种情况是因为写的代码中出现了死循环……——译者注-_-!)
为什么这里会有两个等号呢?恩……布尔运算有各种不同的比较操作符:
“==” 指的是 “等于”
“>=” 指的是 “大于或等于”
“>” 指的是 “大于”
“ 代码:
if this > that and this
“or”也是用于两个比较语句之间的,比如: 代码:
if this > that or this > theother:
do this