Powerpoint VBAを使おう!

Powerpoint VBAやExcelのVBAで遊んでいます。Word VBAも始めました。

線に沿う玉の運動を描く⑥ 沈んだものを引き上げて調整する。

続きです(ΦωΦ)
chemiphys.hateblo.jp

すごい強引ですが,浮上させる手を試みました!

判定を外だしするのはやはりイイ!判定追加も簡単!!

あいかわらず雑ですみません。Ball.clsのMoveのところだけ,下記のように判定2を追加して,引き上げることを試みる。

Sub Move(bslide As Slide, pshpCollide As Shape)
    Set shpCollide = pshpCollide
    
    Dim 判定 As Hantei: Set 判定 = New Hantei
    判定.Judge bslide, shpBall, shpCollide
    
    If 判定.blnCollide = True Then
        Vx = V * Cos(判定.sglAngle) * Rate
        Vy = V * Sin(判定.sglAngle) * Rate
        
        Dim 判定2 As Hantei: Set 判定2 = New Hantei
        With shpBall.Duplicate
            .Left = shpBall.Left
            .Top = shpBall.Top - 3
            .Name = "浮上用"
        End With
        判定2.Judge bslide, bslide.Shapes("浮上用"), shpCollide
        If 判定2.blnCollide = True Then shpBall.Top = shpBall.Top - 5
        bslide.Shapes("浮上用").Delete
    Else
        Vx = 0
        Vy = V * Rate
    End If

    shpBall.Left = shpBall.Left + Vx
    shpBall.Top = shpBall.Top + Vy
    
    X = shpBall.Left
    Y = shpBall.Top
End Sub

結果は・・・
f:id:chemiphys:20170116212154g:plain

作った自分だからこそわかる,玉が震えています。。(´▽`) '`,、'`,、

でも,沈まなくなった。

これはいいな。Sleep入れなくてもちょうどいい遅さ。

速くするためにはちょっと考え直さないといけませんが,これならvにすこし法則を加味していけそうかな。

速さを追求するならめり込みを許容すればいいし・・(ΦωΦ)

思考をきちんと制御したら,なんかいけそうですね。