代码之家  ›  专栏  ›  技术社区  ›  muhuk

如何在搅拌机中以编程方式创建逻辑积木?

  •  10
  • muhuk  · 技术社区  · 14 年前

    我想让我的初始化脚本为交互式搅拌机应用程序(不一定是游戏)创建额外的传感器/控制器/执行器。出于两个原因,最好这样做:

    • 我可以在多个应用程序中使用这个脚本。一次又一次地创建公共逻辑是乏味的。没有其他方法可以导入afaik。
    • 让我的python模块创建逻辑块对我来说更容易和舒适,因为我是一个编码人员。(…并且代码可以被版本控制、同行评审、易于记录等)

    实际上,创建模板文件部分解决了第一个问题。但是我不能为不同的项目混合和匹配不同的部分,或者我必须为每个可能性创建一个模板。

    我已经搜索了 Game Engine docs 以及 Python API 但找不到任何线索。 __init__ 逻辑积木的方法甚至没有列出。

    但是如果有任何方法可以在Python中动态地创建逻辑块,我想尝试一下。

    注: 由于我对bge的了解有限,例如,您不能直接从python访问按键。需要传感器。

    2 回复  |  直到 11 年前
        1
  •  6
  •   dval    11 年前

    我知道这是一个很老的帖子,但信息已经过时了。 现在可以使用python添加执行器和传感器: http://www.blender.org/documentation/blender_python_api_2_60_6/bpy.ops.logic.html

    以防其他人在寻找信息。

        2
  •  2
  •   jsbueno    14 年前

    所以—— 实际上,没有办法直接从Python创建逻辑块。

    当你在另一个背景中实例化一个对象时(就像使用一个添加对象执行器),来自被实例化对象的逻辑块也会随之而来-你可以改变和重新排列那些-包括传感器、控制器和执行器的重新布线。

    我认为这是当前的解决方法:创建一个由通用传感器、控制器和执行器组成的空白矩阵,在向场景中添加新对象时,调用一个函数来填充逻辑块的参数并进行所需的连接。