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

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

發布時間: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

閱讀全文

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

熱點內容
我的世界文件夾mod在哪裡 瀏覽:525
蘋果5s測評 瀏覽:782
安全文件夾在哪裡下 瀏覽:643
catpart文件名怎麼設置 瀏覽:39
PDF檔文件怎麼另存為 瀏覽:402
網路機頂盒恢復出廠怎麼能下載 瀏覽:4
網頁元素代碼 瀏覽:67
讀書選擇版本的原因 瀏覽:992
如何用數據線傳文件 瀏覽:335
java使用jni 瀏覽:432
p970升級錯誤修復 瀏覽:119
米4文件管理在哪 瀏覽:376
ug編程用哪個版本最經典 瀏覽:420
javamysqljdbc導入 瀏覽:365
js某個js先執行 瀏覽:508
視頻文件怎麼變成兩個了 瀏覽:523
exle表格如何匹配數據 瀏覽:850
丑角怎麼畫app 瀏覽:57
潮州網站怎麼優化 瀏覽:16
得物app怎麼考試 瀏覽:921

友情鏈接