Мои переменные перевода не обновляются при вызове обработчика события в другом файле - PullRequest
0 голосов
/ 01 июня 2019

Я делаю проект, используя 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. Кто-нибудь может мне помочь?

...