線に沿う玉の運動を描く⑧ 迷走中
続きです
chemiphys.hateblo.jp
速度にエネルギーの雰囲気をまとうことはできるようになりました。
でも,そのせいで新たな問題が発生。これ解決方法思いつかないや(;´▽`A``
位置エネルギーが最小になったあたりで,速度がつきます。
それはいいことなんですが,今の簡易なセンサーでの角度変化では
がっつりめり込みます。。
xの増分を増やすべきではないということなんですが,
xの増分を増やさずに速度が上がったことも表現しつつってかなり難しい気がする。。
どうしたらいいのかなぁ( ´Д`)=3 フゥ
役に立たないコードですが,次のコードで動いています。全貌は載せません。
Sub Move(pSlide As Slide, pShpCollide As Shape, pY0 As Long) Dim 判定 As Hantei: Set 判定 = New Hantei 判定.Judge pSlide, shpBall, pShpCollide pY = shpBall.Top + shpBall.Height + 1 If 判定.blnCollide = True Then pV = Abs((100 - (500 - pY) / 4) * 2) ^ 0.5 * 0.3 If pV < 1 Then pV = 1 pVx = pV * Cos(判定.sglAngle) * Rate pVy = pV * Sin(判定.sglAngle) * Rate 'If 判定.重なり高さ > 4 Then ' shpBall.Top = shpBall.Top - 3 ' shpBall.Left = shpBall.Left + 1 'ElseIf 判定.重なり高さ > 2 Then ' shpBall.Top = shpBall.Top - 1 'End If Else pVx = 0 pVy = 1 End If shpBall.Left = shpBall.Left + pVx shpBall.Top = shpBall.Top + pVy End Sub
強引に引き上げていた部分を今ははずしてます。
pVの変な式ですが,400pxの縦方向の範囲での動きを想定し,見た目にもちょうど適度に収まるように適当に係数(0.3)をかけてる感じです。
きちんと解決方法を考えないとこの話は先に進みそうにない感じ。。コレハキッツイ