(已解决)是否有用于在Scratch中操纵图层的软件解决方案?如果没有,我该怎么做?

问题描述 投票:1回答:1

我正在尝试在Scratch中制作基本的RPG,但我坚持管理哪些子画面位于哪个图层上以及如何有效地在它们之间切换。我有四个精灵可以跟踪:

播放器(动作),NPC1(移动),NPC2(固定式),前景(固定)

理想情况下,NPC2和前景将位于同一层,而NPC1和播放器将能够在彼此以及其他精灵之间自由地前后移动。仅当一个对象的y位置超过另一个对象的y位置时,才更改图层。透视图使x位置与图层管理无关。假设NPC2和前景始终彼此相邻(应该是这样),则这四个Sprite共有6种可能的排列。暂存只允许每层一个精灵,不支持将精灵移动到指定的图层,只能移动到相对的图层或移动到正面或背面。但是,列表和变量的实现不受限制。

确实存在三个问题:如何用信号通知层更改,如何计算每个单独的sprite的层更改量以及如何以正确的顺序执行所有四个sprite的层更改(假设一个sprite一次更改图层)。

我曾考虑过列出所有子画面的初始位置的列表,并使用广播和接收块来通知何时进行图层更改,但是我无法弄清楚每个子画面必须移动多少层。我也不知道每个子画面是否必须一次移动一层,或者是否可以同时完成。我也不确定使用广播/接收块使子画面按顺序更改图层的速度影响。

我还考虑过一个占位符解决方案,该方案可对所有四个精灵进行六个重复版本的制作,并在发生图层更改时切换每个精灵的可见性,但是我认为存在更有效的解决方案,因此我不觉得需要花时间尚未解决此问题。

我目前尚未完全实现任何解决方案。

layer mit-scratch
1个回答
0
投票

谢谢Ruud。我最终使用该项目来寻找更简洁的解决方案。我坚持的项目是TheLogFather的Clone depth-of-field layering demo (no lists),它是Locomule原始版本的混音,但没有使用列表。

© www.soinside.com 2019 - 2024. All rights reserved.