游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3327|回复: 9

请教下关于人物碰到障碍物停止移动的实现??

[复制链接]

6

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2005-7-17 19:27:00 | 显示全部楼层 |阅读模式
我是用VC++开发游戏的,而且只是一个初学的,很多很多的东西都不懂,希望能帮一下我。
(win32环境)
我在设计2D游戏时候遇到一个问题,当人物在地图移动碰到障碍物的时候,怎么样才能实现遇到障碍物就停止移动?

希望大家能帮我解决,~~谢谢

72

主题

447

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
QQ
发表于 2005-7-17 23:37:00 | 显示全部楼层

Re:请教下关于人物碰到障碍物停止移动的实现??

比如键盘控制

if (向前的键位被按下)
{
当前坐标=当前坐标+1;
}
if (遇到障碍)
{
当前坐标=当前坐标-1;
}

//当前坐标在+1的同时-1不就不走了吗!
-欢迎来http://www.dingge.com/index_g.htm一起讨论

53

主题

419

帖子

451

积分

中级会员

Rank: 3Rank: 3

积分
451
发表于 2005-7-17 23:46:00 | 显示全部楼层

Re:请教下关于人物碰到障碍物停止移动的实现??

每次移动的话,坐标++ (比如X++; IF没有障碍 X0=X;)
碰到障碍物,坐标还原(X=X0;)
简单吧,用一个变量记录原来的坐标,自己领悟 [em12]

6

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2005-7-18 00:28:00 | 显示全部楼层

Re: 请教下关于人物碰到障碍物停止移动的实现??

那么应该怎么判断是否遇到障碍物呢~~??麻烦指教一下
谢谢

10

主题

82

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2005-7-18 08:41:00 | 显示全部楼层

Re:请教下关于人物碰到障碍物停止移动的实现??

谢谢了,evilartist!

44

主题

156

帖子

162

积分

注册会员

Rank: 2

积分
162
发表于 2005-7-18 15:13:00 | 显示全部楼层

Re:请教下关于人物碰到障碍物停止移动的实现??

先画到在前面一个,再画回来,,是为了表现,,你向前跑又跑不动的那种感觉,一顿一顿的,,这样才有动感,不然,,就太死板了,当然这个节奏需要你控制才像真的。

判断方式,一般是格子法,就是地图上都是一个个格子,前面一个格子Title,属性为不能通过,就判断不能走。
struct Title{
   short TitleType;//Tiltle属性,例如石头,路面等等。
   bool  TitleCanRun;//可以行走标记,用char也可以,可以表示更多信息
  .............
}
只要你走到那个地方在比较下TitleCanRun,就知道是否可以走了!

2

主题

48

帖子

50

积分

注册会员

Rank: 2

积分
50
发表于 2005-7-18 16:05:00 | 显示全部楼层

Re:请教下关于人物碰到障碍物停止移动的实现??

复杂一点的得用到射线和多边形的冲突检测,这样才能避免因为两个小的物体相对速度太快,互相穿越了也没有坐标重合的情况
也就是移动的速度大过了 (物体1size+物体2size)/帧间时间

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-7-18 16:31:00 | 显示全部楼层

Re:请教下关于人物碰到障碍物停止移动的实现??

很多东西需要自己试一试的

6

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2005-7-20 00:40:00 | 显示全部楼层

Re:请教下关于人物碰到障碍物停止移动的实现??

我自己试了一下,根据物体的放置位置来判断下个位置是否可以走,即用设计后的位图坐标(x,y)来判断。结果可行。但是这对于如果是贴的位图少就好用,对于贴的多就显得不行了。看看大家有什么意见呢?

42

主题

418

帖子

418

积分

中级会员

Rank: 3Rank: 3

积分
418
发表于 2005-7-20 09:20:00 | 显示全部楼层

Re: Re:请教下关于人物碰到障碍物停止移动的实现??

初学者RELAY: Re:请教下关于人物碰到障碍物停止移动的实现??

我自己试了一下,根据物体的放置位置来判断下个位置是否可以走,即用设计后的位图坐标(x,y)来判断。结果可行。但是这对于如果是贴的位图少就好用,对于贴的多就显得不行了。看看大家有什么意见呢?

这好像没什么关系吧?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-26 11:52

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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