游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5850|回复: 4

以前写的一个3d台球游戏,拿出来交流一下

[复制链接]

2

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2003-11-28 17:30:00 | 显示全部楼层 |阅读模式
下载地址:http://www.csdn.net/cnshare/soft/14/14958.shtm

去年为参加一个软件比赛写的,

在本站上看到另一个朋友写的类似游戏,

想就碰撞问题讨论一下,

我觉得,象台球这种游戏的碰撞应该非常精确而且应与贞无关,

因此,我想路径检测算法更合适,

在你击球的一刹那,已知白球的方向和初速度,

就可以计算出白球第一次经历了多少时间、在什么位置、和哪个球(或台

边)发生碰撞,把这些信息作为一个结点保存在为此杆生成的碰撞信息链

表中,然后计算白球与彩球碰撞后的速度和方向,

然后分别计算白球和被击中的彩球将经历多少时间发生下次碰撞(广

义的碰撞,因为球可能停止,也将停止的球的信息保存在结点中),假设

白球经历的时间为t1,彩球为t2,且(t2〈 t1),然后再为彩球的碰撞

信息生成一个结点,再计算白球,彩球1,彩球2的速度、方向,

一直循环,直到计算出所有的球都停止,结束。

注意在此期间(只有计算,很快)屏幕没有做任何输出,

然后根据刚才计算生成的链表进行渲染工作,

这样在任何速度的机器上球的运动速度都是相同的,

碰撞也相当精确。







0

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2003-11-28 22:49:00 | 显示全部楼层

Re: 以前写的一个3d台球游戏,拿出来交流一下

台球,我不喜欢。
你的方法很好呀~

但是在球与球都挨在一起时的受力是不是不同呢? [em24]

2

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
 楼主| 发表于 2003-11-30 18:49:00 | 显示全部楼层

Re: Re: 以前写的一个3d台球游戏,拿出来交流一下

假如考虑球与球贴在一起的情况会复杂很多,

但是可以有一个偷懒的方法:

在程序中球心在台面上的坐标是浮点数,

只要你注意一下不要让两个球之间的初始距离等于机器零,

在击球过程中球之间的距离动态变为零的概率很小,

即使真的变为零,我可以人为的把其中一个球移动一点点,

很小的距离(屏幕上几乎没有反映),

然后在用以上的算法计算,玩家是不可能发现的:)

有点卑鄙无耻的感觉,呵呵。

对了,上次忘了上传偶的文件。

sf_20031130184921.rar

149.96 KB, 下载次数:

15

主题

1268

帖子

1268

积分

金牌会员

Rank: 6Rank: 6

积分
1268
发表于 2004-4-21 18:39:00 | 显示全部楼层

Re:以前写的一个3d台球游戏,拿出来交流一下

无法下在

0

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2005-4-27 01:40:00 | 显示全部楼层

Re:以前写的一个3d台球游戏,拿出来交流一下

下载不了了~是不是帖子太老了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 01:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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