2014-01-25 91 views
-1

我想知道如何設置移動球的範圍,取決於從發射器完整x軸的塊大小。 我的意思是塊x的大小可能是ex.120pixels,所以它需要重新計算這個塊的完整發射器範圍,以便不會將球移出塊。在spritenode上設置移動範圍

ball.position = CGPointMake(emitter.position.x*(block3.size.width/200),currentY); 

此代碼不起作用,我已經測試了幾個想法,但最後我要求在這裏尋求解決方案,尋找有用的答案。請問

回答

0

如果你還沒有,你應該爲你的球節點創建一個自定義類。

在該類中覆蓋setPosition:方法和添加位置驗證方法。

-(void)setPosition:(CGPoint)position 
{ 
    CGPoint adaptedPosition = [self verifyAndAdaptPosition:position]; 
    [super setPosition:adaptedPosition]; 
} 

-(CGPoint) verifyAndAdaptPosition:(CGPoint)position 
{ 
    //Here you can do the math and verify and adapt the position as nesecary 
    return position; 
} 
+0

我不知道如何適應這個職位... –

+0

從你提供的信息我無法得到你想要做什麼(在什麼球需要適應)。 並且爲了調整位置,如果它不適合使用CGPointMake創建新CGPoint,那麼它應該首先檢查給定的位置是否適合您的要求(位於矩形或圓圈內),這是符合要求的最接近的點。除非您明確指定要求,否則我無法在那裏幫助您。 –