作者Rusifarzero (【呆】)
看板Visual_Basic
标题[VB2008]图片沿着表单四边前进问题
时间Fri May 22 00:31:34 2009
使用TIMERTICK做 让图片绕圈的动作
但是他只转了一圈 到了下一圈的时候
却只到表单最右侧就停住不动了
不知道是哪里出了问题
Public Class Form1
Dim x As Integer = 1
Dim y As Integer = 1
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Timer1.Tick
man.Left = man.Left + x
If man.Left >= Me.ClientSize.Width - man.Size.Width - 10 Then
x = 0
man.Top = man.Top + y
If man.Top >= Me.ClientSize.Height - man.Size.Height - 10 Then
x = -1
y = 0
End If
End If
If man.Left <= 10 Then
x = 0
y = 1
man.Top = man.Top - y
If man.Top <= 10 Then
x = 1
y = 0
End If
End If
End Sub
End Class
麻烦高手替我检视一下是否有哪里出了逻辑错误还是...
感激不尽
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.91.234
1F:推 Peruheru:我没有执行你的程式,但我跟你说一个方法 05/22 00:35
2F:→ Peruheru:图片会不动,一是x跟y都变成零,二是x或y反覆在1或-1变化 05/22 00:36
3F:→ Peruheru:之前写一个球会碰撞墙壁,还会互相碰撞的程式时遇过 05/22 00:37
4F:→ Peruheru:反正你就是里面设一个条件,看哪个数字在连续变化 05/22 00:38
5F:→ Peruheru:往回推你就知道原因是什麽了,也就是要你找中断点 05/22 00:38
6F:推 Peruheru:另外,为什麽你的X增加写在最外层,Y增加却写在判断内? 05/22 00:41
7F:→ Peruheru:你不觉的你应该要两个要放在同样的位置吗? 05/22 00:42
8F:→ Peruheru:既然你是使用两个动量变数来设定位置,那就放外面呀 05/22 00:42
9F:→ Rusifarzero:看到P大的一是x跟y都变成零让我豁然开朗! 05/22 00:44
10F:→ Rusifarzero:我在第一个IF 的X=1後加上一个Y=1 她就动了 原来是我 05/22 00:44
11F:→ Rusifarzero:没有把Y也初始为1 难怪他不动 05/22 00:45
12F:→ Rusifarzero:阿 打错 "第一个IF的X=0後" 05/22 00:45
13F:推 Peruheru:这麽快就解决啦?我只是就经验来说,没去看你的逻辑 05/22 00:49
14F:推 Peruheru:不过你得写法真的,还蛮奇特的... 05/22 01:03
15F:→ Peruheru:既然使用了正负动量,那判断运动还使用加减号不是很怪吗 05/22 01:04
16F:→ Peruheru:既然可以用y=-1来代表y值减1,那就全部都用加的嘛 05/22 01:04