|
|
发表于 2006-1-27 02:10:00
|
显示全部楼层
Re:本人初作,仿传奇游戏测试版
你说的没错,不过我估计你很快就会遇到需要d3d的地方了,比如用alpha混和处理影子。如果用用d3d的话,几行代码就可以在不增加任何新图片的情况下处理中毒状态(变绿或者变红),这个你在我那个引擎帧动画演示就可以自己试验,打开rendertree.xml,将任意一个对象的color设置为1,0,0,1,然后看效果,这时那个对象已经中了传奇中红毒了。如果你把color设置为1,1,1,0.5,那么那个对象就是50%透明的了。
另外,控制帧率的大概思路:
你在做更新程序的时候,不要基于每次循环的更新,而要基于一定tickcount的更新。你先申明一个全句变量,比如为lasttickcount,用来保存上个循环开始时的系统tickcount,然后在新循环中看tickcount增加了多少,就知道过了多长时间了,然后你在更新你的函数的时候,比如移动某个人物,设置为每个毫秒坐标+1,然后你用tickcount差乘以1就得到你要移动的坐标了。
或者你设置了一个帧动画,想每40毫秒(25fps)变换一帧,那么你就检查现在的tickcount和你上一帧渲染后的tickcount的差大不大于40,如果大于就渲染下一帧,小于就什么都不干。或者用户电脑性能不行,tickcount的差都是80了,那么就跳过一帧,依此类推~
这样的话,不管你在用户端运行的fps是多少,效果都是一样,不会出现什么在p4机子上的用户人物跑得飞快,然后p2机子上的用户跑得像蜗牛爬之类的了~
另外,比较好奇,你是怎么用loop来设置fps为34的? |
|