sgwsssxm 发表于 2020-9-7 00:18:00


If i Mod 2 = 0 Then
    point(0) = centerpoint(0) + radius * Sin((i / 2) * sideAngle)
    verts.Append point
Else
    point(1) = centerpoint(1) + radius * Cos((i / 2) * sideAngle)
End If
改成
If i Mod 2 = 0 Then
    point(0) = centerpoint(0) + radius * Cos((i / 2) * sideAngle)
    point(1) = centerpoint(1) + radius * Sin((i / 2) * sideAngle)
    verts.Append point
End If
你的 Sin 和 Cos 弄反了,至于你为什么用 i Mod 2 = 0 取偶数,再把 i/2 就看不出来你要干什么了。

sgwsssxm 发表于 2020-9-7 00:26:00


Private m_verts() As Double
下面加一行
Private m_bFirstItem As Boolean
再把所有 Dim m_bFirstItem As Boolean 删除,全局变量要放在公共的位置,局部变量就算命名一样,也是互相独立、互不影响的。
页: 1 [2]
查看完整版本: 学习VBA开发发生了一些问题,新人求教