Другое > Игроделам - Blender Game Engine

Можно ли через переменную назначить объект?

(1/6) > >>

Novichok:
Всем привет.
Фрагмент:

--- Код ---
scene = bge.logic.getCurrentScene() 
controller = bge.logic.getCurrentController()
objList = scene.objects
abc = objList["Cab"]
--- Конец кода ---
 
как я понимаю, назначает объект "Cab" для переменной abc.
Вопрос в следующем, можно ли для переменной abc назначить объект из списка objList через переменную, которая ранее получает имя объекта?
Например:
obj = Cab
и, как-то
abc = objList... obj

Николай Николаев:
>> obj = Cab
>> и, как-то
>> abc = objList... obj


--- Код ---
obj = "Cab"
abc = objList[obj]
--- Конец кода ---

Novichok:

--- Цитата: Николай Николаев от 06 Октябрь 2018, 07:01:40 ---

--- Код ---
obj = "Cab"
abc = objList[obj]
--- Конец кода ---

--- Конец цитаты ---
Николай, что-то идёт не так.
Подскажи, как проверить что находится в переменной abc - объект или название объекта.
У меня несколько скриптов и я подозреваю что в каком-то теряю объект.

Novichok:
Наверно правильнее будет сформулировать чего я добиваюсь.
Главное окно, это вид через лобовое окно авто.
Дополнительное окно в окне, в котором должны отображаться виды других камер - слева, справа, сверху, сзади и т.д. которые переключаются клавишами 1, 2, 3, и т.д.
Изначально установленный вид работает нормально, однако при переключении камер Питон выдаёт ошибку:

--- Код ---
!!!!!!!!!!! View
11 nazvCamObz =  CameraObzora
14 camObz =  CameraObzora
24 camObz =  CameraObzora
33 View W =  3.07  H =  2.07
34 int(camObz[Left] * W) =  227  int(camObz[Bottom] * H) =  153
35 int(camObz[Right] * W) =  303  int(camObz[Top] * H) =  204
!!!!!!!!!!! PosCarsCameras
11 nazvCamObz =  CameraObzora
14 camObz =  CameraObzora
24 camObz =  CameraObzora
!!!!!!!!!!! Switching Camer
19 camObz =  CameraLeft    # смена камеры "CameraObzora" на камеру "CameraLeft"

!!!!!!!!!!! View
11 nazvCamObz =  CameraLeft
20 camObz =  CameraLeft
24 camObz =  CameraLeft
Python script error - object 'Car', controller 'Python.005':
Traceback (most recent call last):
  File "View", line 32, in <module>
KeyError: 'value = gameOb[key]: KX_GameObject, key "Left" does not exist'   #  Питон вредничает и не признаёт CameraLeft объектом, по крайней мере я так понимаю.
--- Конец кода ---
Если нужно, то без проблем предоставлю файл - просто пытаюсь сберечь твоё время.

Николай Николаев:
... выкладывайте код, пожалуйста ...

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии