標題:

VB6.0 文字左右、上下、反彈移動效果

發問:

如題:要如何達到那種境界??我的方法是用Timer,每0.02秒文字往左移動45當 到了-480就往右移動45到了960在反會回移動45這是我寫[左右移動]寫一半的:Private Sub Timer1_Timer()If 文字.Left > -480 Then 文字.Left = 文字.Left - 45Else If 文字.Left < -480 Then 文字.Left = 文字.Left + 45 Else If 文字.Left > 960 Then 文字.Left = 文字.Left -... 顯示更多 如題: 要如何達到那種境界?? 我的方法是 用Timer,每0.02秒文字往左移動45 當 到了-480就往右移動45 到了960在反會回移動45 這是我寫[左右移動]寫一半的: Private Sub Timer1_Timer() If 文字.Left > -480 Then 文字.Left = 文字.Left - 45 Else If 文字.Left < -480 Then 文字.Left = 文字.Left + 45 Else If 文字.Left > 960 Then 文字.Left = 文字.Left - 45 End If End If End If 這樣子的問題就是如果到了 -480 就不會動了.... 拜託大家了T^T 謝謝!! 更新: 非常感謝您的回答 但是我已經成功了^^

最佳解答:

因為除了 > 跟 < 這世界還有 = If 文字.Left < -480 Then 文字.Left = 文字.Left + 45 Else <~ 來到這裡 其實是必定 = -480 If 文字.Left > 960 Then <~ 這個If 已經多餘 然後自己再看看吧 2012-03-26 21:54:59 補充: 480> - 480>480>960>480 簡單點就是移動範圍是 -480 ~ 960 到盡頭就反方向而動 這情況可以試用這個方法 -->宣告一個移動距離的 全域變數, 正負代表左右 'Declaration Private dMove As Integer 'Initialize Private Sub Form_Load() dMove = 45 Label1.Caption = String(30&, "~") End Sub 'Movement Private Sub Timer1_Timer() If Label1.Left <= -480 Or Label1.Left >= 960 Then 'Checking dMove = dMove * -1 'Adjust moving direction End If Label1.Left = Label1.Left + dMove 'Move End Sub 2012-03-26 23:46:22 補充: 隨時暫停 <~ Timer.Enabled <Boolean >

其他解答:

 

此文章來自奇摩知識+如有不便請留言告知

謝謝!! 不過如果我希望他是這樣動 480> - 480>480>960>480 而且隨時暫停隨時開始還是可以繼續跑呢?9BA0E808FDCAA8A3
arrow
arrow

    aptzmcv 發表在 痞客邦 留言(0) 人氣()