Другое > Игроделам - Blender Game Engine
Можно ли через переменную назначить объект?
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 объектом, по крайней мере я так понимаю.
--- Конец кода ---
Если нужно, то без проблем предоставлю файл - просто пытаюсь сберечь твоё время.
Николай Николаев:
... выкладывайте код, пожалуйста ...
Навигация
Перейти к полной версии