LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
123
返回列表 发新帖
楼主: Linux_Lyb

求助,物体运动程序设计问题

[复制链接]
发表于 2004-8-9 23:05:51 | 显示全部楼层
比较简单的可以用椭圆曲线,x=a-a*cos(@),y=b*sin(@),a,b用屏幕大小,@取0-pi/2
效果好一些的话,可以把y=x*sinx旋转pi/4,再按照屏幕大小缩放一下,其实就是中学学过的平面坐标系旋转。结果应该是y=bt/sqrt(2)*(t+sint),x=at/sqrt(2)*(t-sint)。a,b按照屏幕大小自己调节一下,多试几次找个合适的值,t从0开始取就行了。
 楼主| 发表于 2004-8-9 23:42:36 | 显示全部楼层
lucifer谢谢你,你说的值得研究,呵呵~~
我已经采用
enemys.x = (int)(cos((enemys.y)*0.0174532925) *100)+400;
这条
 楼主| 发表于 2004-8-9 23:44:26 | 显示全部楼层
最初由 锋锋 发表
那本书是没源码光盘的。
偶最懒敲代码了,只喜欢在别人代码的基础上,美其名曰地“重构!”。哈哈!


哈哈。。。 天下懒人一大家!
 楼主| 发表于 2004-8-9 23:58:47 | 显示全部楼层
接下来是跟踪弹的问题
发表于 2004-8-9 23:59:41 | 显示全部楼层
数学模型搞定后,其实这个程序关键在图象编程上。
看你如何做到“无闪烁地平滑”了?

贴代码来交流更有意义。
:)
发表于 2004-8-10 00:31:16 | 显示全部楼层
用opengl,双缓冲应该可以搞定
 楼主| 发表于 2004-8-10 11:38:03 | 显示全部楼层
我没有用opengl,我用的是double buf,将全部东西在一个screen画好后,再整个复制到另一个screen显示。
写好以后,我肯定会将代码放出来的,又不是什么好东西
发表于 2004-8-10 12:13:52 | 显示全部楼层
怎么你也对写游戏感兴趣了。瑞典的David告诉我,其实OpenGL画面的刷新效率非常高,一帧可以刷来刷去都不会闪烁,但是如果显卡不支持3D(或者是未安装加速驱动的话)效果则会相反,因为我的电脑的集成显卡,所以就不能开发3D的程序了,也只能用SDL练习写一些2D游戏。

我最近为www.linuxfans.org编程版写一个坦克大战,是作为学习项目给别人看的。现在提供下载的是v0.0.4版的源码
http://www.linuxfans.org/nuke/mo ... 1%CD%E6&sortby=   ,但我又已经完全重写了游戏引擎,这要在下一次更新才放出来。同一页你还可以看到David提供的pig-1.0源代码。

你写的代码也及时放到你的网站上呀,方便交流。
 楼主| 发表于 2004-8-10 17:52:03 | 显示全部楼层
好的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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