2016-11-16 5 views
0

на первый извините за мой плохой английский, Я из германии ^^Blender Game Engine Python

У меня есть небольшая проблема с моим собственным письменным Pythonscript. Я бы хотел иметь мерцающий свет, так что я положил в центре внимания, это один я даю два Property's:

  1. булевому Названному toggleProp
  2. Integer с именем таймер

Я связал три логических кирпича с прожектором, Alwayssensor, который установлен таким образом, что уровень срабатывает true, связанный с Py thonbrick, где я вставлял свой сценарий и привязывался к Poperty Brick, где я установил режим для переключения связанного моего свойства.

Я написал следующие строки в моем Pythonscript:

import bge 


def main(): 

    cont = bge.logic.getCurrentController() 
    light = cont.owner 

    toggleProp = cont.actuators ["toggleProp"] 

    if light ["timer"] == 25: 
     cont.activate(toggleProp) 
     light ["timer"] = 0 

    if light ["toggle"] == False: 
     light.energy = 0.200 
    else: 
     light.energy = 1.500 

    light ["timer"] += 1 


main() 

, когда я начинаю свою игру, ничего не происходит. Консоль говорит: ImportError: Нет модуля с именем 'bge'

i'm using Blender version 2.78.

Спасибо и наилучшими пожеланиями из германии :)

+0

бежишь скрипт в интерфейсе блендера сценариев или где-нибудь еще? –

+1

Возможно, вам повезло с blender.stackexchange.com –

+0

Вы должны получить эту ошибку, только если вы запустите скрипт в текстовом редакторе блендера. Вам не нужно запускать скрипт, просто запустите игровой движок, и логические кирпичи будут запускать сценарий по мере необходимости. Является ли 'Blender Game' выбранным в верхней части окна или он говорит' Blender Render' или 'Cycles Render'? – sambler

ответ

0

Не легко сделать «импорт BGE» непосредственно из родного питона сценария, пока не компилировать Blender поддержать этот конкретный вариант (не принимать также во внимание, что этот вариант не более затем команды разработчиков) ...

Но ... вы можете запустить скрипт вам прямо из Blender (под OSX/Linux Blender нужно запустить из терминала),

для этого:. Выберите «Текстовый редактор» в Blender, затем вставьте следующие 2 строки в текстовое поле,

filename = "/path/to/your/python_script/run.py" 
exec(compile(open(filename).read(), filename, 'exec')) 

Адаптируйте путь в соответствии с вашими потребностями, затем запустите его из Blender, щелкнув мышкой по кнопке «Run Script».

Более подробная информация here