私は spacemanager を使用しており、オブジェクトが衝突する力を計算して、ダメージに応じて音と適切なスピリッツを調整できるようにしたいと考えています。力の計算方法を教えてください。これが私がこのサイトで得たコードです。
if(!cpArbiterIsFirstContact(arb)) return;
cpFloat インパルス = cpvlength(cpArbiterTotalImpulse(arb));
フロート ボリューム = MIN(インパルス/500.0f, 1.0f); NSLog(@"インパルスは :%f",ボリューム);
NSLog(@" impluse x:%fy:%f", cpArbiterTotalImpulse(arb).x , cpArbiterTotalImpulse(arb).y); if(ボリューム > 0.05f){ [SimpleSound playSoundWithVolume:ボリューム]; }
私は POSTSOLVE メソッドでこれを持っています。BEGIN でも試してみましたが、印刷されるものはすべて 0 です。このサイトを調べたところ、これを行う必要があることがわかりました。smgr.space->elasticIterations = smgr.space->反復;
上記を実行した後でも、1 が表示されることもあれば、「nan」と表示されることもあります。私が知る必要がある基本的なことはありますか?
ありがとう