'修改了一下程式,使用了一些拙劣的技巧終於讓它旋轉成功了
Private Sub Command2_Click()
Const PI = 3.1415926
Dim bangle, eangle As Single
Dim secX, secY As Single
Dim secangle As Single
For i = 90 To 450
For j = 1 To 1000000: Next j
FillStyle = 0 '設定繪圖屬性為填滿
bangle = i * PI / 180
If i > 360 Then bangle = (i - 360) * PI / 180
eangle = (180 + i) * PI / 180
If (180 + i) > 360 Then eangle = (180 + i - 360) * PI / 180
FillColor = vbBlack '黑色大半圓
Circle (3000, 2500), 2000, vbBlack, -bangle, -eangle
bangle = (180 + i) * PI / 180
If (180 + i) > 360 Then bangle = (180 + i - 360) * PI / 180
eangle = i * PI / 180
If i > 360 Then eangle = (i - 360) * PI / 180
FillColor = vbWhite '白色大半圓
Circle (3000, 2500), 2000, vbWhite, -bangle, -eangle
secangle = 2 * PI * ((180 - i) / 360)
secX = Cos(secangle) * 1000
secY = Sin(secangle) * 1000
bangle = i * PI / 180
If i > 360 Then bangle = (i - 360) * PI / 180
eangle = (180 + i) * PI / 180
If (180 + i) > 360 Then eangle = (180 + i - 360) * PI / 180
FillColor = vbWhite '白色小半圓
Circle (3000 + secX, 2500 + secY), 1000, vbWhite ', -bangle, -eangle
FillColor = vbBlack '黑色魚眼
Circle (3000 + secX, 2500 + secY), 500, vbBlack
secangle = 2 * PI * ((360 - i) / 360)
secX = Cos(secangle) * 1000
secY = Sin(secangle) * 1000
bangle = (180 + i) * PI / 180
If (180 + i) > 360 Then bangle = (180 + i - 360) * PI / 180
eangle = i * PI / 180
If i > 360 Then eangle = (i - 360) * PI / 180
FillColor = vbBlack '黑色小半圓
Circle (3000 + secX, 2500 + secY), 1000, vbBlack ', -bangle, -eangle
FillColor = vbWhite '白色魚眼
Circle (3000 + secX, 2500 + secY), 500, vbWhite
Next i
End Sub