Я делаю проект, используя PyOpenGl и GLUT. клавиатура () - это функция обработчика событий. Я импортирую InputManager.py в main.py, чтобы получить доступ к x, y, zTranslate. Тем не менее, эти переменные не изменяются при запуске событий. Хотя в файле InputManager.py они меняются, в main.py они остаются 0.0.
Я знаю, что одним из решений является создание класса для InputManager. Однако я хочу по-настоящему понять эту проблему.
main.py
from Interface.InputManager import *
def display():
print(rotate_speed, xTranslate, yTranslate, zTranslate)
glTranslatef(xTranslate, yTranslate, zTranslate
InputManager.py
xTranslate = 0.0
yTranslate = 0.0
zTranslate = 0.0
movement_speed = 50.0
def keyboard(*args):
global xTranslate,yTranslate, rotate_speed
if args[0] == b'a':
xTranslate += movement_speed
if args[0] == b'd':
xTranslate -= movement_speed
if args[0] == b'w':
yTranslate -= movement_speed
if args[0] == b's':
yTranslate += movement_speed
glutPostRedisplay()
Я до сих пор не привык работать с несколькими файлами с помощью Python. Кто-нибудь может мне помочь?