?? form1.frm
字號:
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 5385
ClientLeft = 1365
ClientTop = 765
ClientWidth = 3840
LinkTopic = "Form1"
PaletteMode = 1 'UseZOrder
Picture = "Form1.frx":0000
ScaleHeight = 5385
ScaleWidth = 3840
Begin VB.Timer tmrBounce
Interval = 50
Left = 1320
Top = 2400
End
Begin VB.PictureBox picHidden
AutoRedraw = -1 'True
AutoSize = -1 'True
BorderStyle = 0 'None
Height = 4500
Left = 1800
Picture = "Form1.frx":832B
ScaleHeight = 300
ScaleMode = 3 'Pixel
ScaleWidth = 200
TabIndex = 1
Top = 2400
Visible = 0 'False
Width = 3000
End
Begin VB.PictureBox picCanvas
AutoRedraw = -1 'True
AutoSize = -1 'True
FillColor = &H00FF00FF&
FillStyle = 0 'Solid
Height = 4560
Left = 0
Picture = "Form1.frx":10656
ScaleHeight = 300
ScaleMode = 3 'Pixel
ScaleWidth = 200
TabIndex = 0
Top = 0
Width = 3060
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'彈跳的小球
'包含通用的計算彈球路線的算法
Option Explicit
Private Const MERGEPAINT = &HBB0226
Private Const SRCAND = &H8800C6
Private Const SRCCOPY = &HCC0020
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Const BallR = 10 ' 小球半徑
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()
BitBlt picCanvas.hDC, _
OldX - BallR, OldY - BallR, BallD, BallD, _
picHidden.hDC, OldX - BallR, OldY - BallR, SRCCOPY
OldX = CurX
OldY = CurY
' 重畫小球
picCanvas.Circle (CurX, CurY), BallR
'刷新顯示
picCanvas.Refresh
End Sub
' 初始化,畫初始步球
Private Sub Form_Load()
Width = (Width - ScaleWidth) + picCanvas.Width
Height = (Height - ScaleHeight) + picCanvas.Height
Xmax = picCanvas.ScaleWidth - BallR
Ymax = picCanvas.ScaleHeight - BallR
' 設置初始位置
Randomize
CurX = Int((Xmax - BallR + 1) * Rnd + BallR)
CurY = Int((Ymax - BallR + 1) * Rnd + BallR)
OldX = CurX
OldY = CurY
VelX = Int((10 - 5 + 1) * Rnd + 5)
VelY = Int((10 - 5 + 1) * Rnd + 5)
DrawBall
End Sub
' 移動小球
Private Sub tmrBounce_Timer()
CurX = CurX + VelX
If (CurX > Xmax) Then
CurX = Xmax
VelX = -VelX
ElseIf (CurX < BallR) Then
CurX = BallR
VelX = -VelX
End If
CurY = CurY + VelY
If (CurY > Ymax) Then
CurY = Ymax
VelY = -VelY
ElseIf (CurY < BallR) Then
CurY = BallR
VelY = -VelY
End If
DrawBall
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -