2014-04-27 52 views
1

我需要在屏幕底部放置一个独立于分辨率的精灵,使用cocos2d for iPhone,这样如果精灵在iPhone 5/5s的底部,即使在iPhone 4/4s上也会处于最低点。将精灵放置在屏幕底部,与分辨率无关

下面的代码适用于iPhone5的/ 5秒的分辨率,而不是对以前的iPhone型号:

ground1 = [CCSprite spriteWithImageNamed:@"ground1.png"]; 
ground1.position = ccp(self.contentSize.width/2,self.contentSize.height/2-259); 
[self addChild:ground1]; 

我能做些什么?

+0

什么cocos2D上的版本?自我是你的场景吗? – lucianomarisi

+0

请注意,不是将标题编辑为“已解决”,您应该选中正确答案的复选框,这会向所有人表明有人帮助您解决问题。 –

+0

啊好吧好的,谢谢我刚才做了 – luaLover

回答

2
CGSize size = [[CCDirector sharedDirector]viewSize]; 
ground1 = [CCSprite spriteWithImageNamed:@"ground1.png"]; 
ground1.position = ccp(size.width/2,[ground1 boundingBox].size.height/2); 
[self addChild:ground1]; 

首先你需要视图的大小。在Cocos2D中,您可以获得调用CCDirector的值并获取其viewSize。然后,像你一样创建精灵。 现在重要的一步是定位精灵。现在,您将viewSize存储为'size',以便通过执行以下操作获取X值:size.width/2。

现在,您的精灵集中在X上。现在让我们将它放在Y上。 您希望您的精灵位于最下方。所以,你需要计算点作为我告诉你在这张照片:

enter image description here

,因此y值是完全精灵的尺寸的高度/ 2。通过调用返回精灵大小的方法:[sprite boundingBox],我们可以得到这个值。

总之,我们有我们的精灵集中在X(size.width/2),并在底部([雪碧boundingBox的] .size.height/2)

+0

看我的编辑更多的细节 – mursang

+0

非常感谢你的解释!现在它的工作原理应该如此!再次感谢! – luaLover

+0

完美! :)请接受正确的答案。谢谢! – mursang