0

我正在尝试创建一个非常基本的 cocos2d 程序,但是从左下角到窗口中间,场景只占用了窗口的 1/4。

我尝试使用 scene.position= x,y 更改场景的位置,但 cocos 似乎将窗口的中间视为其右上角。

import cocos
from cocos.director import director

if __name__ == '__main__':
    director.init(
        fullscreen=False, width=1280, height=800)
    hello_layer = HelloCocos() #Grey ColorLayer and a "Hello" label on it.
    test_scene = cocos.scene.Scene(hello_layer)
    test_scene.position = 0, 600

    director.run(test_scene)

您可以在此处看到场景没有越过窗口的中间。全屏下没问题,场景占满整个屏幕。如何让场景占据整个窗口?让它变大也无济于事,它只是从底部和左侧边缘消失。

4

1 回答 1

1

在 cocos 中,场景的锚点默认是 (0.5, 0.5)。这意味着场景的 (0, 0) 位于其中心。

当您将场景定位在 (0, 600) 时,您是在说场景的中心位于窗口(可见区域)的 (0, 600) 处。

现在,我假设您的场景大小和窗口大小都是宽度=1280,高度=800。这将使部分场景走出窗外。特别是在左上角。

这是解释相同的参考图像

要使场景居中,您可能希望将场景定位在 (640, 400) 处的可见区域(窗口)的中心。或者将其锚点显式设置为 (0, 0),并将位置设置为 (0, 0)。

于 2020-07-17T20:44:28.673 回答