游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2541|回复: 5

请教一个关于游戏中角色跳跃的实现

[复制链接]

25

主题

82

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2007-9-7 16:27:00 | 显示全部楼层 |阅读模式
我希望在我的DEMO中主角能跳,我想到的实际上就是按下空格键就改变MESH的Y值,然后跳到某个位置又慢慢掉下来,然后要落地之后才能再跳。但是我怎么调试跳跃都有点问题,不是落不下来,就是跳的不知道哪去了,还用了N多BOOL类型的值去限制这样限制那样,最后搞得乱七八糟的,请问一下简单的实现思路,谢谢啊

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-9-7 17:59:00 | 显示全部楼层

Re:请教一个关于游戏中角色跳跃的实现

物理模拟 给物体一个向上的力,由于重力,自然会减速,然后落回地面。 很简单的。

另外需要碰撞检测来判断是否在空中。

25

主题

82

帖子

82

积分

注册会员

Rank: 2

积分
82
 楼主| 发表于 2007-9-7 20:00:00 | 显示全部楼层

Re:请教一个关于游戏中角色跳跃的实现

晕,涉及到物理系统啊 还碰撞判断在不在空中。 有没有简单点的方法 就按下空格跳一下。
我的角色在走动的时候的高度 是根据 角色的X,Z值 在地图顶点上Y值进行线性插值求出来的,能不能按一下空格,让他的Y值 ++,然后++到一定高度就 --,我原本是想这么做的。但是就是搞不定

0

主题

769

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
发表于 2007-9-7 22:34:00 | 显示全部楼层

Re:请教一个关于游戏中角色跳跃的实现

角色起跳之后如果不与地面接触的话,就以一定的速度下降,一接触速度就变为0
至于下降的速度如何你可以使用重力加速度的公式V=gt,或者直接给个下降速度的定值都有这个效果

我没用什么引擎,跳起来自动下去的效果做出来了,当然我没用重力加速度,我懒,嘿嘿

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-9-8 02:23:00 | 显示全部楼层

Re:请教一个关于游戏中角色跳跃的实现

这个基本上是物理模拟里最简单的了,并不难,只是初中的物理知识而已。

a=F/m
v=a*t
s=v*t

当然如果你的地面就是个平面的话,又不想用上面的公式,也不实现“又慢慢掉下”,那:

==============================
布尔变量: bJump,bUpOrDown

每帧:
如果跳跃开始(bJump==true),
如果是上升阶段(bUpOrDown==true),判断Y值是否小于某最高值,是就Y++,否则 bUpOrDown=false
否则如果是下降阶段(bUpOrDown==false),判断Y值是否大于某最低值,是就Y--,
否则 跳跃完毕,置布尔变量(bJump=false),Y值=给定地面值。

按键时:
先判断是否跳跃完毕(bJump==false),是就置布尔变量(bJump=true,bUpOrDown=true)。
==============================

25

主题

82

帖子

82

积分

注册会员

Rank: 2

积分
82
 楼主| 发表于 2007-9-8 18:37:00 | 显示全部楼层

Re:请教一个关于游戏中角色跳跃的实现

讲的很详细啊,小弟谢谢E哥   :)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-21 21:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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