从主游戏offSet创建一个类和init

时间:2012-05-25 18:32:27

标签: ios cocos2d-iphone

我正在处理我的游戏,而且我很难绕过一个概念,也许你可以为我澄清一下。

所以在子弹类我在0,0点创建一个子弹对象,这很好 然后,当我真正从主游戏创建它时,我在点

创建它

thePlayer.position.x,0

将其置于播放器所在的X轴上,屏幕底部的Y轴上为0

我的问题是让我说我​​想在枪的顶部制造子弹,例如。不在屏幕的底部。 所以我会写thePlayer.position.x,60;它会在枪的顶部开始,但是会有60的偏移,直到它击中目标...... 我确实提出了一个解决方案,但我不喜欢它。我认为必须有一个更好的答案..

我的回答是: 制作一个var call bulletOffet =任何数字都可以说60 然后创建子弹 thePlayer.position.x,0 + bulletOffSet

现在当我检查子弹和目标时

for(Bullet * someBullet in self.children){         if([someBullet isKindOfClass:[Bullet class]]){             CGPoint bulletPoint = CGPointMake(someBullet.position.x,someBullet.bulletSprite.position.y + bulletOffSet);

这确实有效,但必须有一个更好的解决方案 让我知道我失踪了什么 谢谢

1 个答案:

答案 0 :(得分:0)

您的问题应该可以通过更改项目符号的锚点来解决。

我认为理解锚点可以帮助您解决问题。我在下面附上了一个链接,为锚点的工作方式提供了一个非常好的公会。

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