[VB2008]圖片沿著表單四邊前進問題

看板Visual_Basic作者 (【呆】)時間15年前 (2009/05/22 00:31), 編輯推噓4(4012)
留言16則, 2人參與, 最新討論串1/2 (看更多)
使用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

05/22 00:35, , 1F
我沒有執行你的程式,但我跟妳說一個方法
05/22 00:35, 1F

05/22 00:36, , 2F
圖片會不動,一是x跟y都變成零,二是x或y反覆在1或-1變化
05/22 00:36, 2F

05/22 00:37, , 3F
之前寫一個球會碰撞牆壁,還會互相碰撞的程式時遇過
05/22 00:37, 3F

05/22 00:38, , 4F
反正你就是裡面設一個條件,看哪個數字在連續變化
05/22 00:38, 4F

05/22 00:38, , 5F
往回推你就知道原因是什麼了,也就是要你找中斷點
05/22 00:38, 5F

05/22 00:41, , 6F
另外,為什麼你的X增加寫在最外層,Y增加卻寫在判斷內?
05/22 00:41, 6F

05/22 00:42, , 7F
妳不覺的你應該要兩個要放在同樣的位置嗎?
05/22 00:42, 7F

05/22 00:42, , 8F
既然你是使用兩個動量變數來設定位置,那就放外面呀
05/22 00:42, 8F

05/22 00:44, , 9F
看到P大的一是x跟y都變成零讓我豁然開朗!
05/22 00:44, 9F

05/22 00:44, , 10F
我在第一個IF 的X=1後加上一個Y=1 她就動了 原來是我
05/22 00:44, 10F

05/22 00:45, , 11F
沒有把Y也初始為1 難怪他不動
05/22 00:45, 11F

05/22 00:45, , 12F
阿 打錯 "第一個IF的X=0後"
05/22 00:45, 12F

05/22 00:49, , 13F
這麼快就解決啦?我只是就經驗來說,沒去看你的邏輯
05/22 00:49, 13F

05/22 01:03, , 14F
不過你得寫法真的,還蠻奇特的...
05/22 01:03, 14F

05/22 01:04, , 15F
既然使用了正負動量,那判斷運動還使用加減號不是很怪嗎
05/22 01:04, 15F

05/22 01:04, , 16F
既然可以用y=-1來代表y值減1,那就全部都用加的嘛
05/22 01:04, 16F
文章代碼(AID): #1A5O7fCd (Visual_Basic)
文章代碼(AID): #1A5O7fCd (Visual_Basic)