高手请教:怎样用vb实现如下功能:一个篮球从窗体的顶端下落,当篮球碰到窗体底部后反弹,到达顶端后
又下落,如此来回循环。(下面是我写的代码,但是不能实现该功能)Dimtp,add,bAsBooleanPrivateSubForm_Load()b=TrueMe.Imag...
又下落,如此来回循环。(下面是我写的代码,但是不能实现该功能)
Dim tp, add, b As Boolean
Private Sub Form_Load()
b = True
Me.Image1.Move Me.ScaleWidth / 2, 0
End Sub
Private Sub Timer1_Timer()
If b = True Then
add = add + 20
tp = tp + add
Me.Image1.Top = tp
If tp >= Me.ScaleHeight - Me.Image1.Height Then b = False
End If
If b = False Then
add = add - 20
tp = tp - add
Me.Image1.Top = tp
If tp <= 0 Then b = True
End If
End Sub 展开
Dim tp, add, b As Boolean
Private Sub Form_Load()
b = True
Me.Image1.Move Me.ScaleWidth / 2, 0
End Sub
Private Sub Timer1_Timer()
If b = True Then
add = add + 20
tp = tp + add
Me.Image1.Top = tp
If tp >= Me.ScaleHeight - Me.Image1.Height Then b = False
End If
If b = False Then
add = add - 20
tp = tp - add
Me.Image1.Top = tp
If tp <= 0 Then b = True
End If
End Sub 展开
3个回答
展开全部
Dim tp As Single, b As Boolean
Private Sub Form_Load()
b = True
Image1.Move Me.ScaleWidth / 2, 0
Timer1.Interval = 30
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
If b Then
tp = tp + 60
If tp >= Me.ScaleHeight - Image1.Height Then b = False
Else
tp = tp - 60
If tp <= 0 Then b = True
End If
Image1.Top = tp
End Sub
追问
您好,我是想要篮球在下落时逐步加速,上升时逐步减速那样的效果。谢谢。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dim tp, add, b As Boolean
Private Sub Form_Load()
b = True
Me.Image1.Move Me.ScaleWidth / 2, 0
End Sub
Private Sub Timer1_Timer()
If b = True Then
add = add + 20
tp = tp + add
Me.Image1.Top = tp
If tp >= Me.ScaleHeight - Me.Image1.Height Then b = False: add = add + 20
Else
add = add - 20
tp = tp - add
Me.Image1.Top = tp
If tp <= 0 Then b = True: add = 0
End If
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dim tp, add, b As Boolean
这句话貌似没问题,但是我用vb.net调试时,tp和add都是boolean变量,所以失败了。
把这个定义重新写好。还有记得设置timer的间隔和enable
这句话貌似没问题,但是我用vb.net调试时,tp和add都是boolean变量,所以失败了。
把这个定义重新写好。还有记得设置timer的间隔和enable
追问
您好,我那样声明,tp, add不都是变体吗?我把声明改为Dim tp!, add!, b As Boolean并且设置了timer的间隔和enable,还是不行的。
追答
就直接
dim tp as integer
dim add as integer
dim b as boolean
分开写。那个代码我改了这个地方,就可以运行了。时间间隔不要太大,几百左右。
因为vb.net没有image控件,我用按钮代替,没问题的。
你可以中断一下,看看tp的值是否在按数字变化,我中断时看到tp的值是true。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询