访问搅拌机对象

问题描述:

我刚开始用搅拌机和Python,我一直在尝试使用Python 2.5.1访问搅拌机对象

我访问使用搅拌器游戏引擎立方体的旋转特性的旋转连接到多维数据集在我的场景此python脚本:

cont = GameLogic.getCurrentController() 
own = cont.owner 

print own.RotX, own.RotY, own.RotZ 

我得到的是这样的错误:
Python脚本错误从控制器“续#CONTR#1”: 回溯(最近通话最后一个): 文件“starter”,第4行,在 AttributeError:'KX_GameOb ject'object has no attribute'RotX'

有人可以告诉我如何访问旋转属性吗?感觉就像我疯了!

谢谢,
威尔

据我记得你可以通过getDRot访问旋转属性()函数,其中getDRot()[0] = ROTX,getDRot()[1] = ROTY, getDRot()[2] = rotZ。但我不确定您是否可以在所有者对象上调用它。从我很久以前写的一些片段中,我将这个功能称为执行器。所以,你的球必须有一个执行机构,然后你就可以

​​

您可以使用属性localOrientation,这似乎是访问的旋转,在游戏引擎不使用运动致动器不允许的唯一途径当前旋转的打印。

localOrientation由一个列表或一个3x3矩阵组成。矩阵的每一行都是相应轴将指向的点。 对于默认立方体:

import GameLogic 
cont = GameLogic.getCurrentController() 
own = cont.owner 

print(own.localOrientation) 

将产生 矩阵((1.0,0.0,0.0),(0.0,1.0,0.0),(0.0,0.0,1.0)),因为对象的点的X轴到点(1,0,0),y指向(0,1,0),z到(0,0,1)

希望这有助于!

编辑: 刚刚玩过这个,我想说,如果事情是奇怪的记住,这是LOCAL的方向。如果事情不正常,请检查对象的本地位置!我刚刚感到非常困惑,因为我没有意识到我的对象的本地位置是(0,0,0),即使它看起来像是在(9,-10,0)