Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 搅拌机游戏引擎-未找到bge模块_Python_Blender_Bpy - Fatal编程技术网

Python 搅拌机游戏引擎-未找到bge模块

Python 搅拌机游戏引擎-未找到bge模块,python,blender,bpy,Python,Blender,Bpy,我看过其他论坛,没有找到我的问题的答案,我知道对于bge来说,脚本只有在连接到logic bricks时才有效,为了确保我输入的方式正确,我在youtube上观看了bge教程,它对他有效,但对我无效 如何下载bge模块? 如有任何建议,将不胜感激 我还注意到,在观看视频后,搅拌机控制台上说: 错误: Python script error - object 'Cube', controller 'Python': Traceback (most recent call last): File "

我看过其他论坛,没有找到我的问题的答案,我知道对于bge来说,脚本只有在连接到logic bricks时才有效,为了确保我输入的方式正确,我在youtube上观看了bge教程,它对他有效,但对我无效

如何下载bge模块? 如有任何建议,将不胜感激

我还注意到,在观看视频后,搅拌机控制台上说:

错误:

Python script error - object 'Cube', controller 'Python':
Traceback (most recent call last):
File "moveX.py", line 1, in <module>
ImportError: No module named 'Bge'
Blender Game Engine Finished

是的,bge模块是游戏引擎的一部分,可以通过python控制器逻辑块使用。此python控制器仅在游戏引擎实际运行时激活

虽然您可以在没有游戏引擎的情况下构建blender,但除非您编译了自己版本的blender,否则我不希望它被禁用。如果您在游戏引擎之外使用bge运行脚本,例如从blender的文本编辑器运行脚本,那么您看到的错误总是会发生的

首先通过在“渲染引擎”菜单中选择游戏引擎来启用它

然后在python控制器中设置脚本后,按p启动游戏引擎

编辑:

问题中的错误表示脚本中有
import Bge
,而
Bge
应该都是小写的,这在您添加的脚本中似乎已经修复。脚本将得到不同的错误,因为对象中没有
positive
属性,您需要使用
owner.position.x

import bge

def main():
    cont = bge.logic.getCurrentController()
    owner = cont.owner  
    owner.position.x += 0.1

main()

这就是为什么我不明白为什么它不起作用。我在脚本上有一个始终传感器,使用true pulse在x轴上移动我的0.1个搅拌机单元,因为它是一个始终传感器,只要我运行bge,我就会在控制台中得到以下消息:Python脚本错误-对象“Cube”,控制器“Python”:回溯(最后一次调用):文件“moveX.py”,第10行,文件“moveX.py”,第8行,在主属性错误中:“KX_GameObject”对象没有属性“肯定”Blender游戏引擎完成与我在上面发布的一样我想我知道问题出在哪里了,我在posibly上观看教程的家伙有一个python的Onler版本,语法从现在开始更改,所以你能帮我吗?我会把剧本贴在上面的帖子里
import bge

def main():
    cont = bge.logic.getCurrentController()
    owner = cont.owner  
    owner.position.x += 0.1

main()