貴様ら!ブロック崩し作るので見てください
■ このスレッドは過去ログ倉庫に格納されています
0273249
NGNG反射 は 回転(カーブ)に似てるけど壁の角度をAngle
水平 Angle=0度
垂直 Angle=90度
とすると vx,vyに対して
Private Sub reflect(Angle)
Dim s, c
s = Sin(PI * 2 * Angle)
c = Cos(PI * 2 * Angle)
x = vx: y = vy
vx = c * x + s * y
vy = -c * y + s * x
End Sub
となる 0度の時は c=1,s=0 になるから yだけ符号が反転
90度なら c=-1,s=0で xだけ符号反転
というのは既に使ってるよね。
これを一般化したのが上の式
だからラケット位置や動きの効果を反射で表現したいなら
水平との反射=0度でなく±45度の範囲で反射させればいい
ラケットの左右のスミの場合は、スミ座標とボール中央と90度
の方向に反射させればいい
■ このスレッドは過去ログ倉庫に格納されています