我有点没理解【可以高低差的跳跃】,我就先按照我当前的感觉来回答了
一般来说如果需要在xy平面体系下做出xyz三个坐标的话需要一个转换机制
f(u,v) = (x,y,z),所以我姑且认为你的意思是,如何在同一个xy坐标下判断两个z坐标的高低
这就会有一个转折点,如果你游戏本身有Z坐标属性,你只需要用它运算就行。
对于游戏,会直接使用x,y,z坐标来描述自己在游戏中的位置,这就像游戏的大脑(数据)是3D的,但是最后用2D画在屏幕上
然后游戏绘画的时候,建立一个转换的方式,吧对应的游戏内真实坐标转换成绘图使用的2D坐标,包括图层
如果你本身就是用两个坐标x,y来做的
我个人的意见是加一个钩子,可以获取玩家键盘输入、
这就很像是快递柜,输入一个密码打开某个门,输入另一个密码打开另一扇门
吧这个钩子放在需要检测的场景中,用这个钩子勾住玩家的跳跃输入,或者跳跃高度,然后其他对象就可以用这个数据来判断玩家跳到了什么位置。,需要高度信息的物体通过访问这个数据来判断玩家的高度信息,再和自己设定的高度信息进行比对。
或者原理类似,直接让玩家跳跃动作产生时,回报一个高度给游戏,这个高度会符合玩家跳跃→自由落体的曲线。并且每帧更新
然后需要玩家高度的情况下就调取这个数字。
不过如果你的游戏在开发早期,而且需要使用极大量的高度对比,我还是直接建议你用xyz记录,在绘画的时候变换一下就行了
明天的明天 1年前
发布