俺のプログラミング・ブログ・スレッドへ、ようこそ。
viewtopic.php?f=3&t=20935
c++ 玉の反射について - プログラマ専用SNS ミクプラ(ja)
> 最も手っ取り早い(しかし,しょぼい,ごまかし的な)方法の1つとして,2つの弾の速度を入れ替えるというものがある.
とりあえず、「2つの弾の速度を入れ替える」実装をしてみた。
コード:
for( int i=0; i<MAX-1; i++ ) {
for( int j=i+1; j<MAX; j++ ) {
if(
abs(objs[ i ].m_x - objs[ j ].m_x )*2
+ abs( objs[ i ].m_y - objs[ j ].m_y )*2 < 100
) {
float tmpv = objs[ i ].m_vx;
objs[ i ].m_vx = objs[ j ].m_vx;
objs[ j ].m_vx = tmpv;
tmpv = objs[ i ].m_vy;
objs[ i ].m_vy = objs[ j ].m_vy;
objs[ j ].m_vy = tmpv;
}
}
}
物理るのではなく、エフェクトるのが目的なので、これでいいか。