如何获取我的屏幕在 Cocos2d 中的当前位置?

How to get the current position of my screen in Cocos2d?

我正在使用 c++ 中的 cocos2d-x v3 做一个平台游戏,其中地图通常非常大,可见屏幕通过地图跟随对象,但我找不到获得pos地图中可见屏幕的位置。

使用 Size visibleSize = Director::getInstance()->getVisibleSize(); 给我整个地图的尺寸​​。

假设我想在屏幕右上角显示一个 sprite os 每当对象到达地图中的一个点时,这个 sprite 将始终在右上角 os 画面。

使用对象 position 不会这样做。

有没有办法获取当前屏幕的position? 或者有没有办法在屏幕上显示精灵或其他任何东西,即使屏幕在移动,它也会在屏幕上?

Ps。我是游戏开发的超级菜鸟

有一个简单的解决方法:

你需要两层: 1:游戏层 2: uilayer

Gamelayer是你可以move.Your地图添加在gamelayer上,当你需要移动地图时,你可以移动gamelayer。

Uilayer不动,zorder大于gamelayer.The应该一直在屏幕右上角的sprite在这一层

还有: 还有一种更复杂的方法: 您不需要移动 gamelayer.Just 将相机绑定到 gamelayer 并将另一个相机绑定到 uilayer。

当您需要查看大地图的其余部分时,只需将游戏层的相机移动到您想要的位置即可。

顺便说一句:

这是我在 Whosebug 上的第一个回答。

英语不是我的母语,不是很流利。

希望对您有所帮助:)

我回答了 question for you, which is a duplicate of the current question. The exact same solution applies to both situations. Add your sprite to the HudLayer as described in 个问题。