注册 登录
  • 动态
  • 推荐
  • 游戏
  • 分享链接 new
  • 回答问题
  • 发现
  • 野蔷薇
  • 视频

Kingfeng 我们作为一个协会誓要治愈这个世界及其居民

回答了问题 更新于 2019-07-28 00:23:51

如何在自上而下的横版街机类型游戏中,实现伪3D效果?

我有点没理解【可以高低差的跳跃】,我就先按照我当前的感觉来回答了

一般来说如果需要在xy平面体系下做出xyz三个坐标的话需要一个转换机制
f(u,v) = (x,y,z),所以我姑且认为你的意思是,如何在同一个xy坐标下判断两个z坐标的高低

这就会有一个转折点,如果你游戏本身有Z坐标属性,你只需要用它运算就行。
对于游戏,会直接使用x,y,z坐标来描述自己在游戏中的位置,这就像游戏的大脑(数据)是3D的,但是最后用2D画在屏幕上

然后游戏绘画的时候,建立一个转换的方式,吧对应的游戏内真实坐标转换成绘图使用的2D坐标,包括图层


如果你本身就是用两个坐标x,y来做的
我个人的意见是加一个钩子,可以获取玩家键盘输入、

这就很像是快递柜,输入一个密码打开某个门,输入另一个密码打开另一扇门

吧这个钩子放在需要检测的场景中,用这个钩子勾住玩家的跳跃输入,或者跳跃高度,然后其他对象就可以用这个数据来判断玩家跳到了什么位置。,需要高度信息的物体通过访问这个数据来判断玩家的高度信息,再和自己设定的高度信息进行比对。


或者原理类似,直接让玩家跳跃动作产生时,回报一个高度给游戏,这个高度会符合玩家跳跃→自由落体的曲线。并且每帧更新

然后需要玩家高度的情况下就调取这个数字。


不过如果你的游戏在开发早期,而且需要使用极大量的高度对比,我还是直接建议你用xyz记录,在绘画的时候变换一下就行了

著作权归作者所有。商业转载请联系作者获得授权,非商业转载务必附上原作者名称,注明来自「奶牛关」并给出原文链接。不得以任何形式演绎或修改。

{{answer_voters_count}}人赞同

...

{{question_follower_count}} 个玩家关注

...

目录

    评论 1

    明天的明天 1年前

    目前就是使用的这个思路解决的,非常感谢!

    发布

    登录奶牛关账号即可参与讨论
    登录 / 注册

    Kingfeng 的更多回答

    查看所有回答

    该问题的其他回答