2014-11-01 55 views
0

我正在構建一個小遊戲,但有一個問題。我製作了一些在屏幕上彈跳的球,它的意圖是以相同的速度在屏幕上彈跳。我的問題是,在30秒之後,球變得瘋狂,儘可能快地在屏幕上彈跳。我該如何解決它?彈跳節點變得瘋狂

這裏是我的代碼:

int maxXCoord = self.frame.size.width; 
int maxYCoord = self.frame.size.height; 

int circleWidth = 6; 

int x = arc4random() % (maxXCoord - (circleWidth/2)); 
int y = arc4random() % (maxYCoord - (circleWidth/2)); 

    SKSpriteNode* _numberint = [SKSpriteNode spriteNodeWithImageNamed: @"red.png"]; 
_numberint.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:(_numberint.frame.size.width/2)]; 

    _numberint.position = CGPointMake(x,y); 


    _numberint.physicsBody.contactTestBitMask = ballCatagoryName; 
    _numberint.physicsBody.collisionBitMask = ballCatagoryName; 


    _numberint.physicsBody.friction = 0.8f; 
_numberint.physicsBody.restitution = 1.2f; 
_numberint.physicsBody.linearDamping = 0.0f; 
_numberint.physicsBody.angularDamping = 0.0f; 
_numberint.physicsBody.allowsRotation = NO; 

[_numberint.physicsBody applyImpulse:CGVectorMake(8.0f, -8.0f)]; 

[self addChild:_numberint]; 

謝謝!

回答

1

如果您將恢復值設置爲高於1.0的值,則對象在每次碰撞時都會提高速度。將賠償率設置爲1.0或更低。

+0

Thnx!有效! – 2014-11-06 19:38:14