gpt4 book ai didi

ios - 如何在两个层或节点之间划分屏幕?

转载 作者:行者123 更新时间:2023-12-01 16:44:51 24 4
gpt4 key购买 nike

注意:这与堆栈溢出的其他问题不同,例如:
Split screen on Cocos2d
不要将此标记为重复,因为这与两个不同的节点有关。我不想为一个节点创建两个视口(viewport)。我想做的只是管理屏幕上的两个不同节点。

我有两个 CCNodes (可以将它们更改为 CCLayers,如果这样会更好)。我希望他们每个人都占据屏幕的一半。目前我在底部放置一个 (0,0) , 另一半向上 (0, <screen height / 2>) .

每个节点都包含子节点(风景、 Sprite 等,例如蓝色和红色的 x),代表游戏世界中的 Actor 。每个节点代表同一个世界的不同 View 。例如,如果这是一场比赛,顶部节点代表红色 X 后面的摄像机,底部节点代表蓝色 X 后面的摄像机。

我不希望一个节点的图形在另一个节点的区域重叠。

通过使一个节点的 z 顺序高于另一个节点,我可以防止来自下部节点的图形与上部节点重叠。但是如何防止上节点的图形与下节点的图形重叠。我使用 z 顺序作为可能的解决方案示例,但想法是 如果每个节点代表一个世界的相机 View ,我如何确保每个相机 View 只占据屏幕的一半?

我该怎么做呢?这些节点中的每一个都会发生各种事情(世界被旋转/放大/缩小等)。我需要能够操纵每个节点,但仍然不能让它们重叠(明显)?

好的:

Split Screen view

好的:蓝色 X 不与上节点的世界重叠。

Split Screen view 2

不行:应该是上部节点的一部分的红色 X 与下部节点重叠。

Split Screen view with overlap

编辑:这与堆栈溢出的其他问题不同,例如:
Split screen on Cocos2d

我不想查看同一节点的两个部分。我试图在两个不同的节点之间划分屏幕。

编辑:在我的场景中尝试视口(viewport)解决方案是不可能的或可扩展的。我需要在两个不同的节点之间划分屏幕。我不能只使用一个节点。

最佳答案

如果您使用 cocos2d 2.0 或更高版本,请尝试使用 CCClippingNode 作为每个“相机 View ”的根节点。基本上,您可以定义一个边界矩形,在该矩形之外,剪切节点将不会显示节点内容。

关于ios - 如何在两个层或节点之间划分屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20836033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com