游戏开发论坛

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

求救:碰撞检测

[复制链接]

9

主题

29

帖子

35

积分

注册会员

Rank: 2

积分
35
发表于 2005-8-21 01:08:00 | 显示全部楼层 |阅读模式
我在程序里是如下进行碰撞检测的:
if(Collision())
newPos=OldPos;
有个问题,人和墙发生碰撞后无法动弹了,除非背离碰撞物走动.想要实现象CS里一样人和墙碰撞后还可以自动沿着墙壁滑行.我尝试在程序里认为人与墙碰撞后就将人的位置远离墙一段距离,这样是可以滑行了,但这样一来碰撞后人就象在墙上弹来弹去.实在不好.求救什么方法可以实现滑行

8

主题

182

帖子

268

积分

中级会员

Rank: 3Rank: 3

积分
268
发表于 2005-8-21 22:13:00 | 显示全部楼层

Re: 求救:碰撞检测

看看这个。

sf_200582122130.rar

281.84 KB, 下载次数:

55

主题

331

帖子

337

积分

中级会员

Rank: 3Rank: 3

积分
337
发表于 2005-8-23 02:05:00 | 显示全部楼层

Re: 求救:碰撞检测

@_@, GT.com 上的一个例子正是你想要的..........

我把它传上来给你..

sf_20058232433.rar

67.85 KB, 下载次数:

8

主题

130

帖子

156

积分

注册会员

Rank: 2

积分
156
发表于 2005-8-23 09:42:00 | 显示全部楼层

Re: 求救:碰撞检测

你可以选择到达前预先判断过程中的碰撞,而不是到了目的再碰撞。
或者,你可以选择有些图不绘制,这里是发现碰撞,只绘制碰撞处理后的结构。

推荐前者,第二种在软件里是不和适宜的,具体理解,可以学习软件工程。

alpswolf: 求救:碰撞检测

我在程序里是如下进行碰撞检测的:
if(Collision())
newPos=OldPos;
有个问题,人和墙发生碰撞后无法动弹了...

30

主题

422

帖子

433

积分

中级会员

Rank: 3Rank: 3

积分
433
发表于 2005-8-23 15:19:00 | 显示全部楼层

Re:求救:碰撞检测

发生碰撞后,计算原速度在沿着碰撞面方向的位移。用这个位移来更新坐标。

这个里碰撞也是这样的。
http://acm.tongji.edu.cn/people/kaikai/mycs.php

9

主题

29

帖子

35

积分

注册会员

Rank: 2

积分
35
 楼主| 发表于 2005-8-25 23:09:00 | 显示全部楼层

Re:求救:碰撞检测

十分感谢大家提供这么多的参考,真的不错我的碰撞现在可以沿墙滑行了.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-27 13:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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