VB6中移动和动画时图像闪烁
我正在使用VB6制作一个游戏。你用箭头键移动,移动时也会有动画。我已将移动精灵的角色缓存到 stdPicture 数组中,但由于某种原因每次仍然闪烁。我怎样才能阻止这个?我正在使用具有透明精灵和纯色背景的图像对象。我的精灵甚至图片框中的白色背景都会闪烁。有什么办法可以停止闪烁吗?目前,我使用 LoadPicture() 进行动画处理,并使用 Image.Left = Image.Left +/- 200 等进行移动。
I am using VB6 make a game. You move with the arrow keys, and also when you move there is a animation. I have cached the character that move's sprites into a stdPicture array, but still get flickering every time for some reason. How can I stop this? I am using an image object with transparent sprites and a solid background. I get flickering with white background on sprite and even in a picture box. Is there any way to stop the fickering? Currently I animate with LoadPicture() and I move with Image.Left = Image.Left +/- 200 etc.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要使用 VB6 不自动提供的双缓冲。请参阅此论坛问题了解 VB6 解决方案(页面下方四分之三)。在 .NET 中,您只需将 Form 的双缓冲属性设置为 true,它就会无闪烁地绘制。您是否考虑过使用 VB.NET 来代替?
这是另一篇论坛帖子,其中包含 VB6 双缓冲区示例。
You need to use double buffering which VB6 does not provide automatically. See this forum question for a VB6 solution (three quarters down the page.) In .NET you simply set a Form's double buffered property to true and it will draw flicker-free. Have you considered using VB.NET instead?
Here's another forum post with VB6 double buffer examples.
哇!为什么我还没有偶然发现这个?我刚刚找到了解决方案!解决方案是使用Flash。使用 Shockwave flash 对象可以消除闪烁,并且您可以制作动画。这是双赢!
Wow! Why havent I stumbled upon this yet? I just found the solution! The solution is to use Flash. Using the Shockwave flash object removes the flickering and you can have animations. Its a double win!