游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2583|回复: 5

小图片顺畅快速移动到底是怎么做的?????????

[复制链接]

2

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2004-10-26 12:16:00 | 显示全部楼层 |阅读模式

讨论下面这个过程
   在缓冲区(内存)中贴上背景图,每15毫秒小图横坐标+5,贴小图,将缓冲区图像显示到显示区。
一样蹦动或颤抖或闪烁(说不清楚的感觉)

执行结果是
背景+小图(不停地贴,等待15毫秒)——坐标+5——背景+小图(不停地贴,等待15毫秒)

第三步执行结果
背景+小图(等待下次贴,大约不到15毫秒)——坐标+5——背景+小图(等待下次贴,大约不到15毫秒)

就是说每等15毫秒就移动一下,这样就感觉图像一顿一顿地移动,而不是流畅地移动,而刷新得快,一顿的感觉就是晃动一下。

有什么方式能解决这个问题,一般游戏中的快速移动是怎么做的,有人知道吗? [em17]

2

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
 楼主| 发表于 2004-10-26 12:19:00 | 显示全部楼层

Re:小图片顺畅快速移动到底是怎么做的?????????

第一步
循环执行如下过程:
   在缓冲区(内存)中贴上背景图,贴移动小图,小图横坐标+1(到800就为0),将缓冲区图像显示到显示区。
测试每秒桢数:230-260,看不出闪烁。

第二步
循环执行如下过程:
   在缓冲区(内存)中贴上背景图,从上向下贴移动小图50个(循环),小图横(所有)坐标+1,将缓冲区图像显示到显示区。
测试每秒桢数:60-70,有一半人认为闪烁。

第三步
循环执行如下过程:
   在缓冲区(内存)中贴上背景图,从上向下贴移动小图50个(循环),小图横(所有)坐标+5,将缓冲区图像显示到显示区。
测试每秒桢数:60-70,狂闪烁或蹦动,反正感觉移动小图乱晃。

0

主题

237

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
发表于 2004-10-26 12:54:00 | 显示全部楼层

Re:小图片顺畅快速移动到底是怎么做的?????????

第二帖的第一步就是正解, ?楹我?傧?..

2

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
 楼主| 发表于 2004-10-26 13:18:00 | 显示全部楼层

Re:小图片顺畅快速移动到底是怎么做的?????????

to nlo
1、在处理多的时候保证不了那么高的桢数
2、低桢数的时候想快速移动,比如1秒内从左飞到右

解决不了,迷茫中......

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2004-10-26 16:14:00 | 显示全部楼层

Re:小图片顺畅快速移动到底是怎么做的?????????

如果你是用的ddraw我想不可能是换页的问题

那么我猜想阿,情况是这样的,根据你的描述,你看到的现象不是闪烁而是抖动

图形不是很流畅,一顿一顿的

这种情况有几个原因引起的,一是你的小图块和背景对比太强烈,二是你移动图块的间距和时间间隔不合适

一般情况下是不会出现上面的情况的

不知道我说的对不对?

0

主题

237

帖子

237

积分

中级会员

Rank: 3Rank: 3

积分
237
发表于 2004-10-26 17:17:00 | 显示全部楼层

Re:小图片顺畅快速移动到底是怎么做的?????????

1) 要?理的?|西多的?r候那是正常的
2) 那?你要看看些用framerate?砜刂扑俣鹊姆椒? 例如你?定一??固定要的桢数速度(假?是30), 你已知??r的"每秒桢数", 你只要?? factor=30/每秒桢数, 要移?拥奈锛?乃俣? 都乘上那??factor, 那你便可以在不同的"每秒桢数"下, 都有一??固定的移?铀俣攘? 例如 :
obj.x+=obj.speedx*factor;
obj.y+=obj.speedy*factor;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-22 23:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表