レーザー状に反射 鋭角~鈍角頂点での反射
レーザー状に反射を行う処理で 複数の衝突対象オブジェクトが一点で交わっており、その一点にボール軌道が重なった場合、いらぬ方向に跳ね返ってしまっていたバグを修正。
サンプル
紺点 : ボール現在位置 青点 : ボール移動予定位置 紺点から青点の線 : ボール軌道 緑点から赤点の線 : 衝突対象ラインオブジェクト1 緑点から黄点の線 : 衝突対象ラインオブジェクト2 (初期状態では緑点は水色点に隠れています) 紫線 : ボール反射用ラインオブジェクト 水色点 : ボール軌道と反射用ラインオブジェクトとの交点 ピンク点 : ボール反射調整位置 茶点 : 次のボール移動予定位置
黄点、緑点、赤点、紺点、青点はドラッグ&ドロップが可能です。
ボール軌道(紺点、青点)や、ライン1,2の交点(赤点)を移動させてしまうと、再びドラッグ&ドロップで紫線を表示させることが難しくなってしまいます。
ライン1,2から作られる紫線がボールの反射用ラインとなります。
ボール移動前の位置(紺点)がライン1,2の成す角度(180度未満)の外側にある場合は、ボール移動前の位置に近いほうのラインオブジェクトが反射用ラインとなります。
今までは、区画分けの処理とレーザー反射処理が一緒くたになってしまっていましたが、バグ修正とともに二つの処理を上手く分離させることができました。
[ FLASH ] [ tips ] [ update ] 投稿者 siratama : 2006年05月14日 19:29