游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7475|回复: 12

[讨论] 求一个跳高游戏的计算方法。

[复制链接]

9

主题

30

帖子

30

积分

注册会员

Rank: 2

积分
30
发表于 2008-5-26 14:22:00 | 显示全部楼层 |阅读模式
  游戏的玩法是,交替按左右2键给角色加速,达到自己所要的速度后在撑杆区域撑杆,然后跳过去。请教一个计算方法,速度和撑杆区域的位置以及高度如何计算?

8

主题

1801

帖子

3450

积分

论坛元老

Rank: 8Rank: 8

积分
3450
发表于 2008-5-26 17:07:00 | 显示全部楼层

Re:求一个跳高游戏的计算方法。

我觉得这个的难点在于杆的弹性系数

8

主题

114

帖子

140

积分

注册会员

Rank: 2

积分
140
QQ
发表于 2008-5-27 23:11:00 | 显示全部楼层

Re:求一个跳高游戏的计算方法。

同楼上,用力学来计算将非常复杂
但可以考虑一个简单的方法
设杆为轻杆, 就能用能量守恒来算人的脱离速度; 即初速度(撑杆瞬间人的速度), 末速度(人脱离杆的速度)两者的动能差等于高度(人脱离杆时刻的高度)的相对地面的势能
然后杆在此过程中与地面有摩擦, 但不存在相对位移, 所以不做功. 杆的弹性势能, 最后给予人一个反弹也不计入损失.
接着要考虑初速度的限值(向心力水平分量最大值和地面最大摩擦力的关系)
于是就出来圆周上(杆的形变量相对跳跃高度较小, 忽略不计)每个脱离点的速度大小, 方向(垂直于赶), 然后用抛物运动学就能计算出最高点了

30

主题

1134

帖子

1164

积分

金牌会员

Rank: 6Rank: 6

积分
1164
发表于 2008-5-29 16:00:00 | 显示全部楼层

Re:求一个跳高游戏的计算方法。

游戏不是物理学
你想要什么关系就设计什么关系就好了

我想lz想要问的是这个
由奔跑的速度得出一个起跳撒杆后飞行的初速度
由撒杆的时间得到一个飞行的角度——lz没有提到这一点,实际上要模拟跳高这个很重要
由初速度和角度,分解出一个水平速度,一个垂直速度
水平方向速度不变,垂直方向有一个向下的加速度,也就是上升然后到最高点然后下降
两个方向的速度和撒杆的位置,可以得到飞行的轨迹
把横杆往轨迹上一摆就得到是否跳过了

0

主题

114

帖子

181

积分

注册会员

Rank: 2

积分
181
发表于 2008-5-30 14:22:00 | 显示全部楼层

Re:求一个跳高游戏的计算方法。

   先顶下楼上的“游戏不是物理学”
   数值要从玩法出发,既然楼主要“交替按左右2键给角色加速,达到自己所要的速度后在撑杆区域撑杆,然后跳过去。”我们看下,首先要“交替按左右2键给角色加速”这个简单;“自己所要的速度后在撑杆区域撑杆”建议改成一个大范围撑杆区域,一个与当前速度成反比的小范围最优撑杆区域。跳跃高度与速度成正比,与撑杆点与最优撑杆区域距离成反比。也就是说,想要跳的高,要尽可能快,并且可能准确的按撑杆键,而按撑杆键的时机跑得越快越难把握。
   然后是速度值、撑杆区域、高度三个值。一般人反应速度大约在0.2秒左右,所以建议:
   最优撑杆区域(最高速度时)/最高速度<<0.2, 最高
   撑杆区域/最高速度<0.2,  第三高
   最优撑杆区域(较高速度时)/较高速度<=0.2 次高
   ......
   简单讲就是低速下在最优区内撑杆要优于高速下普通区内撑杆。
   具体值,则视你游戏而定。比如你要做个真实点的,就去查查真实值的范围;想做夸张点的,完全可以搞个能跳几层楼高的。

8

主题

114

帖子

140

积分

注册会员

Rank: 2

积分
140
QQ
发表于 2008-6-1 02:32:00 | 显示全部楼层

Re:求一个跳高游戏的计算方法。

你说游戏不是物理学, 自己却用了物理学的知识, 然后这些物理知识还是不完整的

2

主题

72

帖子

72

积分

注册会员

Rank: 2

积分
72
发表于 2008-6-16 09:19:00 | 显示全部楼层

Re:求一个跳高游戏的计算方法。

为了方便计算,设定起跳是一个正弦函数
条件设定

人跑动速度  Speed
起跳点与横竿点之间的距离 L
撑竿时的力度 Pow
撑竿的弹性系数 ε(可以有很多撑竿选吧)
竿的高度  Tall


y=Sin[(1/Speed)-L]* ε+Pow

比对y与Tall的值
当ymax<Tall时 判定未跳过
当ymax=Tall时 擦竿,几率跳过,几率为ROLL,看人品了
当ymax>Tall时 判定跳过


水王有史以来很少的回帖~~~
- -///

3

主题

130

帖子

136

积分

注册会员

Rank: 2

积分
136
发表于 2008-6-18 00:38:00 | 显示全部楼层

Re:求一个跳高游戏的计算方法。

游戏的本质在于选择 游戏规则需要做的就是对玩家的选择进行判断
这个题目 可供判断的量 只有一个: 那就是玩家“左右”按键的频率

玩法一:只判断最小值,单纯的判断玩家的按键频率  大于等于所要求的频率N就算过关  难度越高的关卡 N值越高  
玩家需要做的就是不停的“左右”按键,类似玩法街机三国志过场小游戏吃包子  轩辕剑3法宝“鼠槌”
考验玩家 手指调协能力 和 键盘反应速度。。。。

玩法二:判断最大和最小值,由按键频率产生一个值X,“按”则增加这个值,“不按”则减少这个值。如果X的最终结果在规定范围Y的范围内,则跳跃成功,否则失败。
说具体一点:首先忘掉物理学里所有的公式和单位,这里设定一个专门的值:能量。游戏开始:在玩家面前显示的是一个能量槽,上面的刻度是S,以及标出要求范围Y。初试能量x为0,杆可以附加能量Z,玩家按左右则加a点能量,不按则减b点能量。游戏过程就是初试能量x在经过N次 +a 或者 -b 之后得到最终能量X。
判断游戏结果: 如果 X+Z 在Y的范围内  则游戏成功
               如果 X+Z 小于Y的范围  则角色撞墙
               如果 X+Z 大于Y的范围  则角色撞飞机上了
玩家玩法分析:重复上面那句话“游戏的本质是选择,规则是对玩家的选择进行判断结果”。那么这个游戏玩家需要做的就是,盯着能量条,进行N次“+a”或者“-b”的选择即可!
考验玩家:手脑协调能力

lz问的速度就是X  撑杆区域影响N的次数 高度就是Y  其他人说的杆的弹性就是Z
我这个 只需要对一个虚构的值“能量”进行简单的加减运算
想增加关卡玩法 只需要简单改变这几个值即可

2

主题

45

帖子

45

积分

注册会员

Rank: 2

积分
45
发表于 2008-6-18 09:31:00 | 显示全部楼层

Re:求一个跳高游戏的计算方法。

第一关:左右键按20下过关
第二关:左右键按50下过关
第三关:左右键按80下过关
第四关:左右键按120下过关
第五关:……

每一关给一个随机数值。也就是roll点1~6
roll到了6点。不管你按多少下都不过关。roll到1~5点没任何事情发生

2

主题

45

帖子

45

积分

注册会员

Rank: 2

积分
45
发表于 2008-6-18 09:32:00 | 显示全部楼层

Re:求一个跳高游戏的计算方法。

一切简单。不是你的公式越复杂。游戏就越好玩的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-9 08:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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