如何获取我的屏幕在 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 个问题。
我正在使用 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 上的第一个回答。
英语不是我的母语,不是很流利。
希望对您有所帮助:)
我回答了