導航:首頁 > 編程知識 > 編程中小球碰到線怎麼反彈

編程中小球碰到線怎麼反彈

發布時間:2023-04-23 21:36:01

Ⅰ Eclipse 寫 java程序。 6個小球碰撞反彈。我知道怎麼碰壁反彈。我想要在碰撞過程中小球互相碰撞也反彈。

給小球類定義一個方法:碰撞;然後當周圍環境的坐標到球心的距離等於小球的半徑時,小球的運動路徑演算法就應該是軸對稱的。先判斷之前的運動方向,然後根據運動方向確定新的運動方向。這個其實就是線性方程做小球的運動軌跡而已。

Ⅱ 怎樣控制小球碰壁後反彈vb編程

加一個picture1,timer1
Option Explicit
Private Const BallR = 200
Private Const BallD = 2 * BallR + 1
Private CurX As Single
Private CurY As Single
Private OldX As Single
Private OldY As Single
Private VelX As Single
Private VelY As Single
Private Xmax As Single
Private Ymax As Single
Private Sub DrawBall()
OldX = CurX
OldY = CurY
Me.picture1.FillColor = &HEE00CC
Me.picture1.FillStyle = 6

Me.picture1.Cls
picture1.Circle (CurX, CurY), BallR, vbRed
End Sub

Private Sub Form_Load()
Width = (Width - ScaleWidth) + picture1.Width
Height = (Height - ScaleHeight) + picture1.Height

Xmax = picture1.ScaleWidth - BallR
Ymax = picture1.ScaleHeight - BallR

Randomize
CurX = Int((Xmax - BallR + 1) * Rnd + BallR)
CurY = Int((Ymax - BallR + 1) * Rnd + BallR)
OldX = CurX
OldY = CurY
VelX = Int((40 - 20 + 1) * Rnd + 20)
VelY = Int((40 - 20 + 1) * Rnd + 20)

DrawBall
Timer1.Interval = 10
Timer1.Enabled = True
End Sub

Private Sub timer1_Timer()
CurX = CurX + VelX
If (CurX > Xmax) Then
CurX = Xmax
VelX = -VelX
' Beep
ElseIf (CurX < BallR) Then
CurX = BallR
VelX = -VelX
' Beep
End If

CurY = CurY + VelY
If (CurY > Ymax) Then
CurY = Ymax
VelY = -VelY
' Beep
ElseIf (CurY < BallR) Then
CurY = BallR
VelY = -VelY
' Beep
End If

DrawBall
End Sub

閱讀全文

與編程中小球碰到線怎麼反彈相關的資料

熱點內容
maya粒子表達式教程 瀏覽:84
抖音小視頻如何掛app 瀏覽:283
cad怎麼設置替補文件 瀏覽:790
win10啟動文件是空的 瀏覽:397
jk網站有哪些 瀏覽:134
學編程和3d哪個更好 瀏覽:932
win10移動硬碟文件無法打開 瀏覽:385
文件名是亂碼還刪不掉 瀏覽:643
蘋果鍵盤怎麼打開任務管理器 瀏覽:437
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525

友情鏈接