VB程序代码编写的疑问

设置小球在屏幕内做弹性碰撞,当小球碰到屏幕边沿时会自动反弹.我按照书上的提示,编下如下程序,可是为什么当小球向下运动时碰到屏幕边沿时没有反弹,而是往下沉了好多才反弹呢?我... 设置小球在屏幕内做弹性碰撞,当小球碰到屏幕边沿时会自动反弹.我按照书上的提示,编下如下程序,可是为什么当小球向下运动时碰到屏幕边沿时没有反弹,而是往下沉了好多才反弹呢?我是初学者,请高手指点指点.

添加一个shape1,圆形,为小球
添加一个timer1
代码如下:

dim x as integer
dim y as integer
private sub frm_load()
randomize
x=rnd*100
y=rnd*100
end sub

private sub time1_timer()
shape1.left=shape1.left+x
shape1.top=shape1.top+y
if shape1.top+shape1.height>me.height then y=-y
if shape1.top<0 then y=-y
if shape1.left+shape1.width>me.width then x=-x
if shape1.left<0 then x=-x
end sub
我把me.height 改为 Me.ScaleHeight
Me.Width 改为 Me.ScaleWidth 了,
小球终于不超边反弹了,可是为什么很多时候还没有到达边沿就反弹了呢?
展开
 我来答
tonkeys
2010-11-16 · TA获得超过1513个赞
知道大有可为答主
回答量:2087
采纳率:33%
帮助的人:2441万
展开全部
me.height 改为 Me.ScaleHeight
Me.Width 改为 Me.ScaleWidth

我试了,没有发现你说的“没有到达边沿就反弹”的问题,是不是你放置的Shape长宽不相等?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式