我正在处理我的游戏,而且我很难绕过一个概念,也许你可以为我澄清一下。
所以在子弹类我在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);
这确实有效,但必须有一个更好的解决方案 让我知道我失踪了什么 谢谢
答案 0 :(得分:0)
您的问题应该可以通过更改项目符号的锚点来解决。
我认为理解锚点可以帮助您解决问题。我在下面附上了一个链接,为锚点的工作方式提供了一个非常好的公会。