Запуск нескольких сцен в Pythonista

Я изучаю Python через Pythonista на iPhone. Первым делом я сделал простой сенсорный джойстик (контроллер). Я начинаю работать над самой игрой, но я не знаю, как объединить или наложить две сцены. (Одна - это настоящая игра, другая - контроллер, который я сделал в другом файле.) Я уже попытался импортировать и запустить его, но кажется, что одновременно можно запустить только 1, файл контроллера или файл игры. Любая помощь приветствуется.

2 ответа

Я постараюсь представить более полный ответ, чем мой комментарий выше.

Каждая представляемая сцена имеет представление и набор методов для реагирования на сенсорные события в этом представлении. Вы не можете накладывать сцены друг на друга и одновременно реагировать на сенсорные события, потому что тогда у вас будет два разных обработчика сенсорных событий, запускающих одни и те же сенсорные события.

Однако вы должны иметь возможность создавать несколько сцен, которые не имеют перекрывающихся видов. Тогда каждое событие касания будет захвачено только сценой, которой принадлежит область экрана, к которой вы прикоснулись.

Вы можете накладывать одну сцену поверх другой, но сцена с наложением захватывает все сенсорные взаимодействия.

Вместо того, чтобы ставить джойстик на отдельную сцену, вы должны нарисовать его на scene.Node, Затем в вашей игровой сцене вы можете добавить его как другой спрайт, используя Scene.add_child(),

Чтобы преобразовать позиции касания в систему координат узлов, вы можете использовать Node.point_from_scene()и для преобразования обратно в систему координат сцены, вы используете Node.point_to_scene()

Другие вопросы по тегам