How does this algorithm make the character jump in pygame?(这个算法是如何让角色在pyGame中跳跃的呢?)
本文介绍了这个算法是如何让角色在pyGame中跳跃的呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我一直在看PyGame教程来学习这个模块,现在到了教练教你如何让你的角色跳跃的部分了。然而,我发现无法理解他们写下的代码,而且他们没有很好地解释。
是否有人可以为我分解下面的代码,以便我确切地了解发生了什么?有没有一种更简单的方法来编码一个角色的跳跃呢?请记住,我已经将代码设置为按空格键激活此代码的位置。
Isjump = False
Jumpcount = 10
#code for spacebar activation here, turns Isjump to True#
if Jumpcount >= -10:
Neg = 1
if Jumpcount < 0:
Neg = -1
y -= (Jumpcount ** 2) * 0.5 * Neg
Jumpcount -= 1
else:
Isjump = False
Jumpcount = 10
推荐答案
在启动时Jumpcount
设置为10。
Jumpcount = 10
跳转运行,直到Jumpcount
小于或等于-10。因此,一次跳跃正好需要21个周期:
if Jumpcount >= -10:
Neg
为Jumpcount
的签名(&Q;)。如果Jumpcount
大于或等于零,则为1,否则为-1:
Neg = 1
if Jumpcount < 0:
Neg = -1
在每一帧中,玩家的y
坐标由二次函数(Jumpcount ** 2) * 0.5
改变。
y -= (Jumpcount ** 2) * 0.5 * Neg
此项乘以Neg
,Jumpcount
大于0则为正,Jumpcount
为0,否则小于0。
当Jumpcount
量大时,y
坐标的变化比量小时大。查看21个周期中(Jumpcount ** 2) * 0.5 * Neg
的值:
50.0, 40.5, 32.0, 24.5, 18.0, 12.5, 8.0, 4.5, 2.0, 0.5, 0.0,
-0.5, -2.0, -4.5, -8.0, -12.5, -18.0, -24.5, -32.0, -40.5, -50.0
开始时这些值是正数,玩家跳跃。最后,这些值是负值,玩家会摔倒。
该值的总和为0。因此,y
坐标末尾的值与开头的值相同。
另请参阅How to make a character jump in Pygame?。
这篇关于这个算法是如何让角色在pyGame中跳跃的呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:这个算法是如何让角色在pyGame中跳跃的呢?
基础教程推荐
猜你喜欢
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01