P pegasus Unregistered / Unconfirmed GUEST, unregistred user! 1998-11-16 #2 >如何实现几副动画在Form内缓慢的、随机的移动(30分) 这些画本身还是动的么(不计整体的位置移动)? 不是可以用计时器或者另一个线程调整动画控件的位置吗? 不过如果想要平滑显示(没有闪烁感), 就没有这么简单了
>如何实现几副动画在Form内缓慢的、随机的移动(30分) 这些画本身还是动的么(不计整体的位置移动)? 不是可以用计时器或者另一个线程调整动画控件的位置吗? 不过如果想要平滑显示(没有闪烁感), 就没有这么简单了
H huizhang Unregistered / Unconfirmed GUEST, unregistred user! 1998-11-16 #3 pegasus 很有道理, 要随机还要平滑(不跳动), 可是不简单哪。 我想可以设置两个Timer,一个定时随机改变运动方向(间隔长一些),另一个定时 使图画沿着所定方向移动一个定长的距离。如果有几幅图画的话,随机生成几个不同 的方向就是了。
pegasus 很有道理, 要随机还要平滑(不跳动), 可是不简单哪。 我想可以设置两个Timer,一个定时随机改变运动方向(间隔长一些),另一个定时 使图画沿着所定方向移动一个定长的距离。如果有几幅图画的话,随机生成几个不同 的方向就是了。
H huizhang Unregistered / Unconfirmed GUEST, unregistred user! 1998-11-18 #6 CFG 老兄呀 缓慢地、随机地等待答案吧, 我是实在没时间作了
C CGF Unregistered / Unconfirmed GUEST, unregistred user! 1998-11-18 #7 各位大虾 我仍然专心的等待,因为等待就是艺术,等待就是成功。
C CJ Unregistered / Unconfirmed GUEST, unregistred user! 1998-11-18 #9 30分?拜托! 可是如果可以我会回答的! 不过...dwwang说了,等什么呢?
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 1998-11-19 #10 如果想要平滑效果, 可以调用API GetUpdateRgn, 具体方法可参考win32.hlp
C CGF Unregistered / Unconfirmed GUEST, unregistred user! 1998-11-19 #11 Another_eYes大虾: 您的方法很好,可我对API还缺乏相当的了解,您能说明白一些或举个例子吗? 借此机会也好学习一下。
P pegasus Unregistered / Unconfirmed GUEST, unregistred user! 1998-11-19 #12 >如果想要平滑效果, 可以调用API GetUpdateRgn, 具体方法可参考win32.hlp It's not so easy like that. I suggest CGF friend: First let the picture animated as you like, look at the effect, then try to improve it. It is better than "Right here waiting",
>如果想要平滑效果, 可以调用API GetUpdateRgn, 具体方法可参考win32.hlp It's not so easy like that. I suggest CGF friend: First let the picture animated as you like, look at the effect, then try to improve it. It is better than "Right here waiting",
C cHengyAng Unregistered / Unconfirmed GUEST, unregistred user! 1998-11-19 #14 实现几副动画在Form内缓慢的、随机的移动: 是指把几幅图片象放电影预告那样的效果吗:随机出现、移动换位? 如果是这样,我倒做过一个,方法挺笨的: 1:加载每个 Image 到内存 2:为每个 image 建立一个起始、终止坐标和一个 Timer 3:在每个 Timer 事件里改变每个 Image 的内容 (实现每个图框的内容在动) 3:建立一个 bitmap 4:用一个 Timer 读取 Image 当前位移时间的相对坐标变化,将其相对坐标 内容复制到 Bitmap 5:所有 Image 读完后把 Bitmap 复制到显示区(我是用的 Form.Canvas) (整体图框的内容在动) 这样就实现了类似电影动画的效果
实现几副动画在Form内缓慢的、随机的移动: 是指把几幅图片象放电影预告那样的效果吗:随机出现、移动换位? 如果是这样,我倒做过一个,方法挺笨的: 1:加载每个 Image 到内存 2:为每个 image 建立一个起始、终止坐标和一个 Timer 3:在每个 Timer 事件里改变每个 Image 的内容 (实现每个图框的内容在动) 3:建立一个 bitmap 4:用一个 Timer 读取 Image 当前位移时间的相对坐标变化,将其相对坐标 内容复制到 Bitmap 5:所有 Image 读完后把 Bitmap 复制到显示区(我是用的 Form.Canvas) (整体图框的内容在动) 这样就实现了类似电影动画的效果
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 1998-11-20 #15 首先抱歉, 闪烁的原因主要是因为windows在重画图象时, 会先把原先保存 在缓冲中的图象画上去, 然后根据需要重新画新图象. 如果让windows重画 时不先画原来的图象就能达到平滑的效果了, 这可以通过SetWindowRgn达到 目的.具体没有试过, 我也是从别处的FAQ中看到这个方法的. 它原来的问题 是将一幅透明的图象在屏幕上任意移动而不产生闪烁. 和您的问题大同小异. 抱歉没有时间实验.
首先抱歉, 闪烁的原因主要是因为windows在重画图象时, 会先把原先保存 在缓冲中的图象画上去, 然后根据需要重新画新图象. 如果让windows重画 时不先画原来的图象就能达到平滑的效果了, 这可以通过SetWindowRgn达到 目的.具体没有试过, 我也是从别处的FAQ中看到这个方法的. 它原来的问题 是将一幅透明的图象在屏幕上任意移动而不产生闪烁. 和您的问题大同小异. 抱歉没有时间实验.
P pegasus Unregistered / Unconfirmed GUEST, unregistred user! 1998-11-20 #16 >不先画原来的图象就能达到平滑的效果了, 据我的经验先画静止不动的部分并不会引起闪烁 闪烁的原因是先擦除了原来的图像, 然后重新画(在新的位置上) 如果不使用双缓冲区的话, 就必须自己计算出图像的变化部分, 尽量少擦除原先的图像
>不先画原来的图象就能达到平滑的效果了, 据我的经验先画静止不动的部分并不会引起闪烁 闪烁的原因是先擦除了原来的图像, 然后重新画(在新的位置上) 如果不使用双缓冲区的话, 就必须自己计算出图像的变化部分, 尽量少擦除原先的图像
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 1998-11-21 #17 我这有个Transparent AVI 控件的原代码, 其中的思路倒是可以借鉴一下的 只要再加上移动整个control的代码就达到您的要求了 该控件可以从delphi super page 找到
C CJ Unregistered / Unconfirmed GUEST, unregistred user! 1998-11-22 #18 我怎么在SUPPER PAGE什么也找不到?谁可以帮忙寄一份?
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 1998-11-22 #19 去delphi3 jump center看看
C CGF Unregistered / Unconfirmed GUEST, unregistred user! 1998-11-23 #20 请各位大虾上 http://www.eng.utoledo.edu/~hchia/screen/screen.htm 下载便可知道我希望开发的模型