关于图片移动的问题,模拟物体运动.

lshuzhou696 2004-09-03 08:58:25
我在piturebox中放了一个image空间,上面有一张汽车图片,用timer控制他的top和left,让他移动,模拟一个汽车运动,但是画面上是一闪一闪,在另一台机器(配置略低于编程机器)出现了五颜六色的局面,我用的图片是gif格式的,请教如何解决.
...全文
273 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
iPUD 2005-07-25
  • 打赏
  • 举报
回复
用API
StretchBlt
用这个做出来的会比较流畅。最后的一个参数用VBSRCPAINT.
如果闪就把AUTODRAW设成TRUE,应该可以解决你的问题
flyingscv 2004-10-15
  • 打赏
  • 举报
回复
使用双缓冲吧
不是很好说,搜一下应该能找到
cdc2533802 2004-10-08
  • 打赏
  • 举报
回复
顶,我正好了是这个问题没有办法解决
lshuzhou696 2004-09-06
  • 打赏
  • 举报
回复
前面三位的提示能否给个简单的例子,谢谢了
jnhjone 2004-09-04
  • 打赏
  • 举报
回复
在移動前image先不顯示,移動好位置後再顯示就會好許多了
thirdapple 2004-09-04
  • 打赏
  • 举报
回复
ehom也到这个版版来逛?autoredraw已经使用的双缓冲吧,8过没仔细研究过是不是
ehom 2004-09-04
  • 打赏
  • 举报
回复
在内存中合成所要显示的位图,定时刷新显示该位图~~~
thirdapple 2004-09-04
  • 打赏
  • 举报
回复
用bitblt贴到PictureBox上面,设置autoredraw=true
lshuzhou696 2004-09-03
  • 打赏
  • 举报
回复
to of123()
谢谢你的回复,但问题不能根本解决,不过效果比以前好了.不知能否把图片合成视频那样流畅的播放
of123 2004-09-03
  • 打赏
  • 举报
回复
不要用 Left、Top 属性控制移动,而要用 Move 方法。例:

Select Case Motion
Case 1
'若是向左上方运动,则使控件移动20 缇。
picBall.Move picBall.Left - 20, picBall.Top - 20

'若控件接触左边缘,则改变运动向右下方。
If picBall.Left <= 0 Then
Motion = 2

'若控件接触上边缘,则改变运动向左下方。
ElseIf picBall.Top <= 0 Then Motion = 4
End If

'......

另,不要直接从磁盘文件 LoadPicture。可以预存在 ImageList :
Set picBall.Picture = ImageList1.ListImages(3).Picture

ahxyx 2004-09-03
  • 打赏
  • 举报
回复
关注

807

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧