游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1683|回复: 2

求助 关于碰撞的问题

[复制链接]

8

主题

10

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2008-2-11 10:58:00 | 显示全部楼层 |阅读模式
最近我在用windows的API写一个坦克大战的小游戏的时候遇到了一个问题,该如何去写敌人与敌人,敌人与地图,敌人与玩家之间的碰撞呢。希望高手能给我讲解一下 ,最好附有代码,谢谢了 !!!!!

0

主题

386

帖子

400

积分

中级会员

Rank: 3Rank: 3

积分
400
QQ
发表于 2008-2-12 01:14:00 | 显示全部楼层

Re:求助 关于碰撞的问题

碰撞检测
我原来做过。有代码

bool MainCirculate_NearPlane(int x1,int y1,int x2,int y2,int w1,int h1,int w2,int h2)
{

if((x1+w1)>=x2 &&
X1<=(x2+w2) &&
y1<=(y2+h2)  &&
(y1+h1)>=y2)
{
return ture;          //碰撞了
}
else
{
return false;          //没有碰撞
}


X1,Y1是物体A的坐标   
X2,Y2是物体B的坐标
W1,H1是物体A的宽度和高度
W2,H2是物体B的宽度和高度

函数我没测试,自己写的。如果有错误自己改下。给你看下原理。

63

主题

181

帖子

181

积分

注册会员

Rank: 2

积分
181
发表于 2008-2-14 05:10:00 | 显示全部楼层

Re:求助 关于碰撞的问题

vector<CEnemy*> enemylist;
for(vector<CEnemy*>::itorator cp= enemylist.begin(); cp<enemylist.end();cp++)
{
   CheckCollision(player,enemy);   //函数内容差不多同上
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 01:15

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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