首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

为啥每个点都跟第一个点连起来了呀?

2013-03-06 
为什么每个点都跟第一个点连起来了呀??Private Sub Timer1_Timer()h Picture1.Heightw Picture1.Width

为什么每个点都跟第一个点连起来了呀??
Private Sub Timer1_Timer()
h = Picture1.Height
w = Picture1.Width
nw = w / 49    '两个横坐标的距离
Picture1.Scale (0, h)-(w, 0)        '绘图区域设置
 
'开始画点
If n < 50 Then
    For i = n To n
        x = i * nw    '横坐标
        y = Rnd * h    '纵坐标
        px(i) = x
        py(i) = y
    Next i
        n = n + 1
Else
    For i = 0 To 48    '超出界面后平移
        Picture1.Cls
        py(i) = py(i + 1)
        px(i) = i * nw
    Next i
        py(49) = Rnd * h '最新点放在最后
        px(49) = w
End If

'两点连线
If n >= 2 Then
   Picture1.DrawWidth = 2  '线的粗细
   Picture1.PSet (px(0), py(0)), vbRed  '从第一个点开始画线
 For i = 1 To n
    Picture1.Line (px(i - 1), py(i - 1))-(px(i), py(i)), vbRed '两点画线
    Winsock1.SendData "a" & px(i - 1) & "b" & py(i - 1) & "c" & px(i) & "d" & py(i) & "e"
 Next i
End If
End Sub

为什么每个点都跟第一个点连起来了呀??帮忙找下问题!!谢谢了!!
为啥每个点都跟第一个点连起来了呀?

[解决办法]
试试 For i = 1 To n - 1
[解决办法]
http://download.csdn.net/detail/veron_04/2368159
[解决办法]
不要用Pset,用Line方法,可以设置线段的起点和终点
[解决办法]

'假定这时 n=1
    If n < 50 Then
        For i = n To n '对 px(1),py(1) 赋值
            x = i * nw
            y = Rnd * h
            px(i) = x
            py(i) = y
        Next i
        n = n + 1 'n=2
    Else
        ...
    End If

    If n >= 2 Then
        ...
        For i = 1 To n '这里会用到 px(2),py(2),赋值了没有?没有!!!


            Picture1.Line (px(i - 1), py(i - 1))-(px(i), py(i)), vbRed
            ...
        Next i
    End If

热点排行