当前位置: 首页 > 知识库问答 >
问题:

Python语法和Pygame的问题

柯波峻
2023-03-14

我正在开发一款游戏,遇到了一些无法解决的问题(至少是我自己)。

我的代码有以下问题:

>

  • 当询问是否要保存屏幕截图时,尽管有语句,但只会将可通过lower()方法翻译的内容输入到“yes”“no”中,尽管有语句,该代码块中的一个条件是if save\u选项。lower()==(“是”或“y”):它将只接受“是”,否则该条件将被评估为False。我不知道这是为什么。

    当“交付他所有的礼物”到达屏幕顶部时,介绍()结束,主游戏循环开始。我可以在这段代码中看到任何与此相关的逻辑错误:

    而不是pygame.sprite.Group.has(intro_story_surface_objects):对于事件在pygame.event.get():如果event.type==退出或event.type==KEYDOWN和event.key
    ==K_ESCAPE:销毁()

    DS.blit(BACKGROUND, (0, 0))
    pygame.draw.rect(DS, (0, 0, 0, 50), (0, DISPLAY_HEIGHT - 200, DISPLAY_WIDTH, 200), 0) # (screen, color, (x,y,width,height), thickness)
    
    count = 0
    for line in intro_story_surface_objects:
    
        line_x_y = (intro_story_surface_objects[line].rect.x, intro_story_surface_objects[line].rect.y)
        intro_story_sprite_group.draw(DS)
        intro_story_surface_objects[line].rect.y -= 60 # intro_story_surface_objects[line].speed
    
        if intro_story_surface_objects[line].rect.y + intro_story_surface_objects[line].rect.height < 0:
            intro_story_surface_objects[line].kill()
            # print("Kill")
            line_kills += 1
    
            if line_kills == len(intro_story_surface_objects):
                return
    
    
    pygame.display.update()
    clock.tick(30)
    

    再次感谢,提前尝试帮助。

    来自基兰


  • 共有2个答案

    红明德
    2023-03-14

    回答我自己的问题2。

    除此之外,我还需要回答另外两个问题。

    执行代码时,文本看起来像是被绘制了两次。问题是,每次更改每行文本的x和y坐标时,整个行列表将被绘制两次。

    只是一个小意外。我的代码的结构如下:

    • 而有几行文字:
    • 绘制此命令中的所有行-intro_story_sprite_group.draw(DS)
    • 遍历每一行:
    • 改变它的(x, y)

    不这样做:

    • 当有行文本时:
    • 每行循环:
    • 在这个命令-intro\u story\u sprite\u组中绘制所有行。绘制(DS)
    • 更改其(x,y)

    请不要忘记我还需要回答2个问题!谢谢你的帮助,

    基兰

    马绪
    2023-03-14
    1. 第一个问题。尝试:if save\u选项。['yes','y']中的下(:

    括号中的你的或语句所说的是:如果第一个值计算为false,请与第二个值进行比较。因为字符串yes总是Truesave_option.lower()永远不会与'y'进行比较。

    不幸的是,剩下的我帮不上忙。我没用过Pygame。祝你好运!还有快乐的游戏。

     类似资料:
    • 我对python非常陌生,一直在通过DataCamp学习基础知识。我下载了Python3和PyCharm,并将我在DataCamp中学到的东西复制到PyCharm中使用,一切都很顺利。 我现在正在尝试将软件包安装到PyCharm中,但标准方法(在数据营中演示)不起作用 我已经打开了一个新的. pynfile,并键入'pip安装Scrapy',但一切都是下划线红色(如下)。当我悬停在安装部分时,它说

    • 我正在尝试制作一个四边形,并了解这个小样本是如何工作的。我的代码不是原创的,它混合了各种各样的例子。 纹理:https://jamesmwake.files.wordpress.com/2015/10/uv_texture_map.jpg?w=660 我的问题: 当我在glTexParameteri中将GL_TEXTURE_MIN_FILTER更改为GL_TEXTURE_MAG_FILTER时,纹

    • 本文向大家介绍使用python和pygame绘制繁花曲线的方法,包括了使用python和pygame绘制繁花曲线的方法的使用技巧和注意事项,需要的朋友参考一下 前段时间看了一期《最强大脑》,里面各种繁花曲线组合成了非常美丽的图形,一时心血来潮,想尝试自己用代码绘制繁花曲线,想怎么组合就怎么组合。 真实的繁花曲线使用一种称为繁花曲线规的小玩意绘制,繁花曲线规由相互契合大小两个圆组成,用笔插在小圆上的

    • 所以我在为我的平台游戏编写攻击方法时,我注意到我的游戏中的碰撞行为很奇怪,当我向敌人发起攻击(我的游戏中的火球)时没有损坏的记录,我添加了一个打印声明来检查他们是否失去任何生命值和没有记录,但是当我按住攻击方法(这是空格键)时,敌人上记录了多个攻击。 玩家角色是蓝色的,敌人是绿色的。 控制台显示敌人的生命值下降,但仅当空格键被按住时。 同样,当我走进敌人的精灵时,我点击一次空格键,我也能以这种方式

    • 我已经安装了pygame,在我的Python菜单上,它显示: 每当我在我的终端上看到它时,它就会说它已经下载了。 但是,当我打开PyCharm或Visual Studio代码并键入: 它会出现以下错误: 我已经尝试了从卸载所有内容到在YouTube上观看各种视频的所有方法。

    • 本文向大家介绍简单谈谈python中的语句和语法,包括了简单谈谈python中的语句和语法的使用技巧和注意事项,需要的朋友参考一下 python程序结构 python“一切皆对象”,这是接触python听到最多的总结了。在python中最基层的单位应该就是对象了,对象需要靠表达式建立处理,而表达式往往存在于语句中,多条语句组成代码块,多个代码块再组成一整个程序。python的核心其实是由语句和表达