2012-05-25 30 views
0

我正在研究我的游戏,而且我正在如此艰难地环绕着一个概念,也许你可以为我澄清它。从主游戏创建一个班级和init offSet设置

所以子弹类我创建点0,0子弹对象,它是精细 然后当我真正从游戏主创造它,我在点创建

thePlayer.position.x,0

这使它在Y轴X轴玩家为0也就是屏幕

我的问题是底部可以说,我想在枪例如顶部创建子弹。不在屏幕的底部。 所以我会写thePlayer.position.x,60;它会在枪的顶端启动它,但会有一个60的偏移量,直到它达到目标... 我确实想出了一个解决方案,但我不喜欢它。我认为必须有一个更好的答案..

我的回答是: 进行VAR电话bulletOffet =任意数量的可以说60 然后在 thePlayer.position.x,0 + bulletOffSet

创建子弹

现在当我检查i中的子弹和目标

为(在self.children子弹* someBullet){ 如果([someBullet isKindOfClass:[子弹类]]){ CGPoint bulletPoint = CGPointMake(someBullet.position。 x,someBullet.bulletSprite.position.y + bulletOffSet);

这样做的工作,但再次,必须有一个更好的解决方案 让我知道我错过 谢谢

回答

0

你的问题应该能够通过改变你的子弹的锚点被固定。

我觉得理解锚点会帮助你解决你的问题。我附上了一个链接,它给出了一个非常好的公会如何锚定点的工作。

http://www.qcmat.com/understanding-anchorpoint-in-cocos2d/

+0

感谢伟大的read..but我的问题是不是从子弹类,如果我这样做bulletSprite.anchorPoint = CCP(.5,.5); [bulletSprite setPosition:CGPointMake(0,300)];当我创建一个子弹对象时,子弹将位于y轴上300的正确位置,我想从mainGame类的y轴向上增加300。 – michael