2012-05-25 28 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