我正在iPhone上通过Pythonista学习Python。我做的第一件事是制作一个简单的触摸屏操纵杆(控制器)。我开始研究实际游戏,但我不知道如何合并或叠加2个场景。 (一个是实际的游戏,另一个是我在另一个文件中创建的控制器。)我已经尝试导入并运行它,但似乎只能一次运行,控制器文件或游戏文件。任何帮助表示赞赏。
答案 0 :(得分:0)
我会尝试提供比上述评论更完整的回复。
正在呈现的每个场景都有一个视图和一组用于响应该视图中的触摸事件的方法。您无法将场景叠加在一起,并且都会响应触摸事件,因为您有两个不同的触摸事件处理程序触发相同的触摸事件。
但是,您应该能够创建多个没有重叠视图的场景。然后,每个触摸事件将仅由拥有您正在触摸的屏幕区域的场景捕获。
您可以在另一个场景之上覆盖场景,但'overlay' scene将捕获所有触摸交互。
答案 1 :(得分:0)
不应将操纵杆放在单独的场景上,而应将其绘制在scene.Node
上。然后在您的游戏场景中,您可以使用Scene.add_child()
将其添加为另一个精灵。
要将触摸位置转换为节点坐标系,您可以使用Node.point_from_scene()
,并转换回场景的坐标系,使用Node.point_to_scene()