如何在Cocos2d中获取我的屏幕的当前位置? P>我用C++中的COCOS2D-X V3做了一个Palfter游戏,其中的地图通常很大,可见的屏幕通过地图跟随对象,但是我找不到一个方法来获取地图中可见屏幕的位置。

如何在Cocos2d中获取我的屏幕的当前位置? P>我用C++中的COCOS2D-X V3做了一个Palfter游戏,其中的地图通常很大,可见的屏幕通过地图跟随对象,但是我找不到一个方法来获取地图中可见屏幕的位置。,cocos2d-x,cocos2d-x-3.0,Cocos2d X,Cocos2d X 3.0,使用Size visibleSize=Director::getInstance()->getVisibleSize();给我整个地图的尺寸 假设我想在屏幕的右上角显示一个精灵,每当对象到达地图中的某个点时,这个精灵就会一直在屏幕的右上角 使用对象位置并不能做到这一点 有没有办法获得当前屏幕的位置? 或者有没有办法在屏幕上显示精灵或其他东西,即使屏幕在移动,它也会出现在屏幕上 注:我是游戏开发领域的超级高手,有一个简单的解决方案: 您需要两层: 1:游戏玩家 2:uilayer Gamelaye

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

假设我想在屏幕的右上角显示一个精灵,每当对象到达地图中的某个点时,这个精灵就会一直在屏幕的右上角

使用对象位置并不能做到这一点

有没有办法获得当前屏幕的位置? 或者有没有办法在屏幕上显示精灵或其他东西,即使屏幕在移动,它也会出现在屏幕上


注:我是游戏开发领域的超级高手,有一个简单的解决方案:

您需要两层: 1:游戏玩家 2:uilayer

Gamelayer是您可以移动的。您的地图添加到Gamelayer上,当您需要移动地图时,您可以只移动Gamelayer

Uilayer不移动,其zorder比gamelayer大。shuold始终位于屏幕右上角的精灵就在这一层上

此外: 还有一个更复杂的方法: 您不需要移动游戏层。只需将一个摄像头绑定到游戏层,然后将另一个摄像头绑定到游戏层

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

顺便说一句:

这是我关于stackoverflow的第一个答案

英语不是我的第一语言,不是很流利


希望这能对您有所帮助:)

我为您回答了问题,这是当前问题的重复。完全相同的解决方案适用于这两种情况。如问题所述,将您的精灵添加到HUD图层。

谢谢,这是一个好主意,我会尽快尝试。顺便说一句:好英语有小错误“你没有”是错误的,(你有,他/她/它有)另外,你能帮我一些代码吗?我在场景中创建了两个层(auto layer=HelloWorld::create();scene->addChild(layer);//第一层。auto layer1=HelloWorld::create();scene->addChild(layer1);//第二层)。当我测试它时,我注意到所有内容都是重复的。如何定义每个层中的对象?