作者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