在vb中如何使两张移动的image图片相碰后消失后一张图又重新循环移动
例如image1和image2相碰后,image1消失,然后用dowhile语句使image1继续重新在窗体的顶端循环不断的下落,为什么我用了dowhile语句程序会无法...
例如image1和image2相碰后,image1消失,然后用do while 语句使image1继续重新在窗体的顶端循环不断的下落,为什么我用了do while 语句程序会无法响应
Dim a%, b%, a1%, b1%
a = Image52.Top + Image52.Height
b = Image52.Left + Image52.Width
b1 = Image66.Left + Image66.Width
With Image66
do while a > .Top And b > .Left And Image52.Left < b1
Image52.Visible = False
Image52.Top = 120
Image52.Left = 3360
loop
End With
这是我的编程
不胜感激,谢谢解答!! 展开
Dim a%, b%, a1%, b1%
a = Image52.Top + Image52.Height
b = Image52.Left + Image52.Width
b1 = Image66.Left + Image66.Width
With Image66
do while a > .Top And b > .Left And Image52.Left < b1
Image52.Visible = False
Image52.Top = 120
Image52.Left = 3360
loop
End With
这是我的编程
不胜感激,谢谢解答!! 展开
1个回答
展开全部
结构错误,你的程序应该是时钟控制的一个单次循环。在这个单次循环中,图片移动一次,然后检查位置,而你用了DO LOOP,在这个DO LOOP中a、b的值没有再次改变(应该在时间确发的下次循环中改变),所以DO LOOP本身进入了一个无限循环导致程序无法响应。
修改的办法是只需把DO LOOP改为IF THEN就可以了,即在每次移动后进行一次位置判断。
修改的办法是只需把DO LOOP改为IF THEN就可以了,即在每次移动后进行一次位置判断。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |