将精灵放置在屏幕上的点上,而不是放在地图上

时间:2012-01-20 01:20:06

标签: objective-c cocos2d-iphone screen sprite placement

在Cocos2D中,我想将一个精灵放在屏幕坐标上,而不是地图坐标上。我以为我可以通过使用convertToNodeSpace获得,但它似乎没有做我想要的。

我认为这应该在我的iPad屏幕中间放一个精灵:

selectionScreenOverlaySprite.position = [self convertToNodeSpace:CGPointMake(512, 384)];

但事实并非如此。它还根据地图的大小将其放置在不同的位置。有谁知道我应该使用什么?我也尝试过:convertToWorldSpace,convertToNodeSpaceAR和convertToWorldSpaceAR。

1 个答案:

答案 0 :(得分:1)

试试这个:

CGSize wins = [[CCDirector sharedDirector] winSize];
[yourSprite setPosition:CGPointMake(wins.width / 2, wins.height / 2)];

这比使用硬编码值更好,因为无论分辨率如何,它都能正常工作。