0

我正在 iPhone 上通过 Pythonista 学习 Python。我做的第一件事是制作一个简单的触摸屏操纵杆(控制器)。我开始在实际游戏中工作,但我不知道如何合并或覆盖 2 个场景。(一个是实际游戏,另一个是我在另一个文件中制作的控制器。)我已经尝试过导入并运行它,但似乎一次只能运行1个,控制器文件或游戏文件。任何帮助表示赞赏。

4

2 回答 2

1

我将尝试提供比我上面的评论更完整的回复。

每个正在呈现的场景都有一个视图和一组用于响应该视图中的触摸事件的方法。您不能将场景叠加在一起并且都响应触摸事件,因为那样您将有两个不同的触摸事件处理程序触发相同的触摸事件。

但是,您应该能够创建多个没有重叠视图的场景。然后每个触摸事件将仅由拥有您正在触摸的屏幕区域的场景捕获。

您可以将一个场景叠加在另一个场景之上,但“叠加”场景将捕获所有触摸交互。

于 2017-05-15T14:59:26.253 回答
0

与其将操纵杆放在单独的场景上,不如将其绘制在scene.Node. 然后在你的游戏场景中,你可以像另一个精灵一样添加它,使用Scene.add_child().

要将触摸位置转换为节点坐标系,您可以使用Node.point_from_scene(),而要转换回场景的坐标系,您可以使用Node.point_to_scene()

于 2018-02-21T14:58:32.520 回答