作者yoll522 (522)
看板GameDesign
标题[请益] 横向卷轴的障碍物
时间Sun Oct 7 18:05:47 2012
不好意思,我又有问题想请教一下了
我在横向卷轴游戏里面可能会有一些障碍物需要跳起来踩在上面才能移动
例如:
http://ppt.cc/iHku
当我在地面咖啡色往右移动的时候碰到黑色的就必须要跳起来才能继续前进
再往右移动碰到红色也是必须跳起来
本来想说这状况用矩阵碰撞来判断就好,
但是我人物跳起来到最高点後『会开始降落,直到踩到地板为止』
如果我人物目前站在咖啡色的地方跳,跳起来後往右移动
照理应该会在降落时踩到黑色就停止降落,可是因为跳起来的地方是咖啡色
程式会变成说我还没有踩到地板,会一直降落,
可是又因为人物已经碰到黑色所以就一直不让他降落
想请问各位高手们该怎麽办@@ 谢谢
============
我刚刚有想出一个方法可以解决,虽然成功了,但是这方法有点脑
我弄了一个变数int floor_y来判断目前角色的位置地板应该多高
if (x>=0 && x<=100 )
floor_y =50 //这是咖啡色的地板位置
else if (x>=101 && x<=150 )
floor_y =80 //这是黑色的地板位置
else if (x>=151 && x<=200 )
floor_y =100 //这是红色的地板位置
这样我就可以说当人物降落时
if( y + 人物高度 < floor_y )
如果成立就代表人物还没踩到地板,要继续降落
可是这样就等於我必须把游戏地图全部的障碍物都写进来判断,有点没有效率@@
想说这应该不是最好的方法,因此还是想请教一下,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.134.49.54
1F:推 damody:有一本书叫 real-time collision 感觉可以解决你的问题 10/07 18:07
请问d大这本书有中文版的吗?因为我google看了一下都只找到英文的
2F:推 NDark:铺 terrain . 10/07 19:52
请问N大铺地形是什麽意思?
是用阵列存地图资讯,然後判断目前走在哪一个点上吗?
※ 编辑: yoll522 来自: 220.134.49.54 (10/07 20:07)
※ 编辑: yoll522 来自: 220.134.49.54 (10/07 20:08)
3F:推 NDark:可以这样说. 10/07 20:12
4F:推 NDark:google "2d game terrain generation" 10/07 20:14
我刚刚看了一下,所以游戏的背景应该是由程式去读阵列
去判断哪里应该是要贴什麽素材来制成背景噜,
我本来是想说请美工的人把背景全部一次画出来@@
谢谢N大,我在找找看地形的相关资讯
※ 编辑: yoll522 来自: 220.134.49.54 (10/07 20:27)
5F:推 NDark:一次画也可以.terrain对的起来就好. 10/07 20:28
不好意思,我查了一下後有个问题想请问一下
如果要用铺地形,那麽我是不是必须把游戏视窗切成网格
我们预设游戏视窗为1024*768,假设我1格大小为50像素,
所以会切成int terrain[20][15]
可是这样不就等於我人物往右移动一次,就必须一次x+50
这样人物感觉就会一瞬间前进一大步@@
可是我切的太细阵列的大小又会变得太大
管理起来非常不便
是不是我对铺地形的理解错误了@@?
谢谢
※ 编辑: yoll522 来自: 220.134.49.54 (10/07 20:57)
6F:推 NDark:可以用内差的. 10/07 21:00
7F:推 ventin2001:横向游戏问题可看-Flash ActionScript3.0平台游戏开发 10/07 21:39
8F:→ yoll522:感谢你,也谢谢n大,我改天会去书店看一下这本书的 10/08 02:19
9F:推 allenwang15:楼楼上推荐的书真特别 我一直都满想要看这类的 10/09 15:40
10F:→ yoll522:这本书满难找的,拍卖场的卖家还跟我说绝版了 10/11 19:27
11F:→ yoll522:昨天在pc home终於找到一家刚好剩一本,可是要调货 10/11 19:28