栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python从零模仿我的世界(十六)番外篇

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python从零模仿我的世界(十六)番外篇

修改游戏代码

这篇文章既然是一片“番外篇”,那我们就偏离一点主线,来讲一下如何修改游戏代码。
首先重温一下Settings类:

class Settings:
	ticks_per_sec = 60  # 每秒刷新的次数
	sector_size = 16  # 区块的大小
    walking_speed = 5.0  # 走路的速度
    gravity = 20.0  # 重力的大小
    max_jump_height = 1.0  # 跳跃的高度
    jump_speed = math.sqrt(2 * gravity * max_jump_height)  # 根据跳跃的高度计算出跳跃的速度
    terminal_velocity = 50  # 下降时最快的下落速度
    player_height = 2  # 玩家的高度
    faces = [
        ( 0, 1, 0),
        ( 0,-1, 0),
        (-1, 0, 0),
        ( 1, 0, 0),
        ( 0, 0, 1),
        ( 0, 0,-1),
    ]  # 与一个方块相邻的方块的相对坐标
    texture_path = 'images/textures'  # 这里也可以替换成你自己的路径

先来做一个简单的修改好吧,玩家化身“超人”,拥有极快的走路速度以及极强的跳跃能力:

class Settings:
    ...
    walking_speed = 15.0
    ...
    max_jump_height = 3.0

感觉怎么样,现在我们先把走路速度和跳跃高度都改回去。接下来我们来修改一下区块大小:

class Settings:
    ...
    sector_size = 1

运行一下,这样的结果你猜到了吗?如果不理解为什么会出现这样的结果可以再看一遍第十二篇中的三个函数哦。
最后我们再来做一个修改,还记得这一段代码吗:

class Window(...):
    ...
    def on_key_press(...):
        ...
        elif symbol == pyglet.window.key.SPACE:
            # 这是为了防止二段跳
            if self.dy == 0:
                self.dy = Settings.jump_speed

如果我们去掉if self.dy == 0:的判断,允许二段跳,又会发生什么有趣的现象呢?这下可以不断按空格一下子跳得特别高,就算“失足”掉进虚空也能跳回来了。

这篇文章对代码做了一些简单的修改,大家对代码的理解应该也更加深刻了。如果有什么不懂的地方可以在评论区讨论,记得点个赞哦~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/839744.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号