Я изучаю Python через Pythonista на iPhone. Первое, что я сделал, это сделал простой сенсорный джойстик (контроллер). Я начинаю работать над настоящей игрой, но я не знаю, как объединить или наложить две сцены. (Одна — это настоящая игра, а другая — контроллер, который я сделал в другом файле.) Я уже пытался импортировать и запускать его, но похоже, что одновременно можно запустить только один файл: файл контроллера или файл игры. Любая помощь приветствуется.
Запуск нескольких сцен в Pythonista
Ответы (2)
Постараюсь дать более полный ответ, чем мой комментарий выше.
Каждая представляемая сцена имеет представление и набор методов для реагирования на сенсорные события в этом представлении. Вы не можете накладывать сцены друг на друга и обе реагировать на события касания, потому что тогда у вас будет два разных обработчика событий касания, запускаемых для одних и тех же событий касания.
Однако вы должны иметь возможность создавать несколько сцен, которые не имеют перекрывающихся видов. Тогда каждое событие касания будет захвачено только той сценой, которой принадлежит область экрана, к которой вы прикасаетесь.
Вы можете наложить одну сцену поверх другой, но Сцена 'overlay' будет фиксировать все сенсорные взаимодействия.
Вместо того, чтобы размещать джойстик на отдельной сцене, вы должны нарисовать его на scene.Node
. Затем в свою игровую сцену вы можете добавить его как еще один спрайт, используя Scene.add_child()
.
Чтобы преобразовать позиции касания в систему координат узлов, вы можете использовать Node.point_from_scene()
, а чтобы преобразовать обратно в систему координат сцены, вы используете Node.point_to_scene()