Dim Shuiping As Integer, Chuizhi As Integer
Private Sub Timer1_Timer()
Shuiping = 1
Chuizhi = 1
Shape1.Left = Shape1.Left + Shuiping * 50
Shape1.Top = Shape1.Top + Chuizhi * 50
If Shape1.Left >= Form1.ScaleWidth - Shape1.Width Then
Shuiping = -Shuiping
Shape1.Left = Shape1.Left - Shuiping * 50
ElseIf Shape1.Left <= 0 Then
Shape1.Left = Shape1.Left + Shuiping * 50
End If
If Shape1.Top >= Form1.ScaleHeight - Shape1.Height Then
Chuizhi = -Chuizhi
Shape1.Top = Shape1.Top + Chuizhi * 50
ElseIf Shape1.Top <= 0 Then
Shape1.Top = Shape1.Top + Chuizhi * 50
End If
End Sub
用vb设计小球碰撞之后反弹的程序,运行时结果不对,不知道哪错了
答案:1 悬赏:0 手机版
解决时间 2021-03-08 11:23
- 提问者网友:愿为果
- 2021-03-08 01:02
最佳答案
- 五星知识达人网友:鱼忧
- 2021-03-08 02:01
帮你改好了
出错的原因是shuiping,chuizhi=1不能放在timer里面,要不然每次timer后都会变回来
还有貌似你有几句话是没用的啊,我给你删掉了
Dim Shuiping As Integer, Chuizhi As Integer
Private Sub Form_Load()
Shuiping = 1
Chuizhi = 1
End Sub
Private Sub Timer1_Timer()
Shape1.Left = Shape1.Left + Shuiping * 50
Shape1.Top = Shape1.Top + Chuizhi * 50
If Shape1.Left >= Form1.ScaleWidth - Shape1.Width Or Shape1.Left <= 0 Then Shuiping = -Shuiping
If Shape1.Top >= Form1.ScaleHeight - Shape1.Height Or Shape1.Top <= 0 Then Chuizhi = -Chuizhi
End Sub
出错的原因是shuiping,chuizhi=1不能放在timer里面,要不然每次timer后都会变回来
还有貌似你有几句话是没用的啊,我给你删掉了
Dim Shuiping As Integer, Chuizhi As Integer
Private Sub Form_Load()
Shuiping = 1
Chuizhi = 1
End Sub
Private Sub Timer1_Timer()
Shape1.Left = Shape1.Left + Shuiping * 50
Shape1.Top = Shape1.Top + Chuizhi * 50
If Shape1.Left >= Form1.ScaleWidth - Shape1.Width Or Shape1.Left <= 0 Then Shuiping = -Shuiping
If Shape1.Top >= Form1.ScaleHeight - Shape1.Height Or Shape1.Top <= 0 Then Chuizhi = -Chuizhi
End Sub
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯