关于图片在背景上平滑移动的问题!(解决问题,另外开贴送分)
xiaxx 2005-02-27 02:33:04 要实现的功能是这样的:
在picturebox控件上有一副背景图片(一个腔体),要使一副图片(一个活塞的图片)在在背景图上
平滑的移动,我的方法如下:
Dim picTp As Picture
Set picTp = LoadPicture(".\pic\mlt.jpg") '活塞的图片文件
Private Sub Timer1_Timer() ‘使用timer控件
’移动控制部分
If iNewPos < 700 Or iNewPos > 1800 Then
bDirect = Not bDirect
End If
If bDirect Then
iCd = 10
Else
iCd = -10
End If
iNewPos = iNewPos + iCd
'画图
Picture1.PaintPicture picTp(0), 1530, iNewPos
End Sub
出现几个问题:
1、新画出来的图片覆盖了背景图片的一部分,不能达到显示要求,
问题1是如何使画出的图片显示有图形的部分,空白的部分能让下面
的背景显示出来?(100分)
2、图片画到新位置后,如何清除掉原位置图片,我试过每次paintpicture后
picture1.cls,但闪烁太厉害,我想是否能还是通过paintpicture的Opcode
参数实现原位置的重画,使图形消除。看了论坛上好多关于什么双缓冲的讨论
,好象讲得不是很清楚,不得要领,还请高人指点(100分)
3、由于手头的msdn盘坏了,查不到帮助,哪位高手能把opcode的参数贴一下
(50分)
总之就是要实现在背景上实现一个活塞移动的过程,有其他解决方案亦可,
请附代码解释。