Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Pythonista中运行多个场景_Python_2d Games_Pythonista - Fatal编程技术网

在Pythonista中运行多个场景

在Pythonista中运行多个场景,python,2d-games,pythonista,Python,2d Games,Pythonista,我正在通过iPhone上的Pythonista学习Python。我做的第一件事是做一个简单的触摸屏操纵杆控制器。我开始着手实际的游戏,但我不知道如何合并或叠加这两个场景。一个是真实的游戏,另一个是我在另一个文件中制作的控制器。我已经尝试导入并运行它,但似乎一次只能运行1个,控制器文件或游戏文件。非常感谢您的帮助。我将尝试给出比我以上评论更完整的回复 正在呈现的每个场景都有一个视图和一组用于响应该视图中的触摸事件的方法。您不能将场景层叠在一起,让两个场景都对触摸事件做出响应,因为这样会有两个不同的

我正在通过iPhone上的Pythonista学习Python。我做的第一件事是做一个简单的触摸屏操纵杆控制器。我开始着手实际的游戏,但我不知道如何合并或叠加这两个场景。一个是真实的游戏,另一个是我在另一个文件中制作的控制器。我已经尝试导入并运行它,但似乎一次只能运行1个,控制器文件或游戏文件。非常感谢您的帮助。

我将尝试给出比我以上评论更完整的回复

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

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


您可以将一个场景置于另一个场景之上,但将捕获所有触摸交互。

不应将操纵杆置于单独的场景上,而应将其绘制在scene.Node上。然后在游戏场景中,您可以使用scene.add\u child像其他精灵一样添加它


要将触摸位置转换为节点坐标系,可以使用Node.point\u from\u scene,要转换回场景坐标系,可以使用Node.point\u To\u scene

我认为没有任何方法覆盖场景。即使可以,这也意味着多个事件循环同时运行,并相互阻碍。您需要在同一场景中实现控制器旁边的其他游戏对象。@SimonHibbs那么我该如何制作一个复杂的游戏呢?每次我都需要一个触动的功能,这看起来太乱了。谢谢你的帮助。然而,我发现导入另一个用游戏杆创建的.py文件更有用,然后将其作为模块插入主游戏,然后使用它的功能。在我的主要比赛中,它会下降到1线,这更好。