このコードが機能しないのはなぜですか?
-(void)tick:(ccTime)dt
{
......
float impulse = - (arc4random() % 2500) ;
cpBody *body = cpShapeGetBody(player.shape);
cpBodyApplyImpulse(body, cpv( 0 , impulse), cpv(0,0));
.....
}
そして、このコードは動作しますか??
-(void)tick:(ccTime)dt
{
......
float impulse = arc4random() % 2500 ;
cpBody *body = cpShapeGetBody(player.shape);
cpBodyApplyImpulse(body, cpv( 0 ,(- impulse)), cpv(0,0));
.....
}
「インパルス」の記号を別の場所で変更すると、コードが機能するか、正しく機能しない理由がよくわかりません。問題は arc4random 関数に関連していますか??
最初のコードに「インパルス」値があります....
2013-04-09 18:28:31.697 ProvaCocos2D[7086:907] impulse 4294967296.000000
2013-04-09 18:28:31.864 ProvaCocos2D[7086:907] impulse 4294966016.000000
2013-04-09 18:28:32.197 ProvaCocos2D[7086:907] impulse 4294966016.000000
2013-04-09 18:28:33.197 ProvaCocos2D[7086:907] impulse 4294966272.000000
2013-04-09 18:28:33.864 ProvaCocos2D[7086:907] impulse 4294964992.000000
2013-04-09 18:28:34.197 ProvaCocos2D[7086:907] impulse 4294967296.000000
2013-04-09 18:28:35.197 ProvaCocos2D[7086:907] impulse 4294967040.000000
2013-04-09 18:28:35.531 ProvaCocos2D[7086:907] impulse 4294966528.000000
2番目に、その作業:
2013-04-09 19:05:38.492 ProvaCocos2D[7158:907] impulse 1712.000000
2013-04-09 19:05:38.994 ProvaCocos2D[7158:907] impulse 2365.000000
2013-04-09 19:05:39.320 ProvaCocos2D[7158:907] impulse 630.000000
2013-04-09 19:05:39.486 ProvaCocos2D[7158:907] impulse 331.000000
2013-04-09 19:05:40.153 ProvaCocos2D[7158:907] impulse 2268.000000
2013-04-09 19:05:40.486 ProvaCocos2D[7158:907] impulse 2166.000000
誰でも説明できますか?XCode 4.6 と cocos2d 2.0 を使用しています
ありがとう