我正在通过iPhone上的Pythonista学习Python。我做的第一件事是做一个简单的触摸屏操纵杆(控制器)。我开始在实际的游戏中工作,但我不知道如何合并或覆盖这两个场景。(一个是实际的游戏,另一个是我在另一个文件中创建的控制器。)我已经尝试导入并运行它,但似乎一次只能运行一个,控制器文件或游戏文件。任何帮助都是非常感谢的。
发布于 2017-05-15 22:59:26
我会试着给出一个比我上面的评论更完整的回复。
呈现的每个场景都有一个视图和一组用于响应该视图中的触摸事件的方法。你不能将场景层叠在一起,让两个场景都响应触摸事件,因为这样你就会有两个不同的触摸事件处理程序来触发相同的触摸事件。
但是,您应该能够创建多个没有重叠视图的场景。然后,每个触摸事件将仅由拥有您正在触摸的屏幕区域的场景捕获。
您可以将一个场景覆盖在另一个场景之上,但'overlay' scene将捕获所有的触摸交互。
发布于 2018-02-21 22:58:33
您应该在scene.Node上绘制操纵杆,而不是将操纵杆放在单独的场景中。然后,在游戏场景中,您可以使用Scene.add_child()像添加另一个精灵一样添加它。
要将触摸位置转换到结点坐标系,可以使用Node.point_from_scene();要转换回场景的坐标系,可以使用Node.point_to_scene()
https://stackoverflow.com/questions/43896486
复制相似问题