如何在按键时更改 pygame 中文本的颜色?

2023-12-14

当谈到 pygame 时,我是一个完全的业余爱好者,我需要制作一个程序,当文本沿不同方向传播时,该程序会改变文本的颜色。这意味着每次按键(上、下、左、右)颜色都会不同。到目前为止,我已经能够让文本向各个方向移动,但是我不明白如何改变颜色!任何帮助将不胜感激。

import pygame
import sys
pygame.init()
screenSize = (800,600)
screen = pygame.display.set_mode((screenSize),0)
go = True

#Define Colours
WHITE = (255,255,255)
GREEN = (0,255,0)
RED = (255,0,0)
BLUE = (0,0,255)
BLACK = (0,0,0)
FUCHSIA = (255, 0, 255)
GRAY = (128, 128, 128)
LIME = (0, 128, 0)
MAROON = (128, 0, 0)
NAVYBLUE = (0, 0, 128)
OLIVE = (128, 128, 0)
PURPLE = (128, 0, 128)
TEAL = (0,128,128)

x = 25
y = 25
dx = 0
dy = 0
colour = RED

font = pygame.font.SysFont ("Arial", 72)
text = font.render ("Hello!", True, (colour))

while go:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            go = False

        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                dx = -5
                colour = GRAY

            elif event.key == pygame.K_RIGHT:
                dx = 5
                colour = MAROON

            elif event.key == pygame.K_UP:
                dy = -5
                colour = BLACK

            elif event.key == pygame.K_DOWN:
                dy = 5
                colour = NAVYBLUE

            elif event.key == pygame.K_c:
                x = (400 - (text.get_width()) // 2)
                y = (300 - (text.get_height()) // 2)

        if event.type == pygame.KEYUP:
            if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
                dx = 0
            elif event.key == pygame.K_UP or event.key == pygame.K_DOWN:
                dy = 0

    x = x + dx
    y = y + dy

    screen.fill(WHITE)
    screen.blit (text, (x,y))


    pygame.display.update()

您需要再次渲染文本。所以在你改变的所有 if 语句之后colour。毕竟你需要打电话font.render() again.

if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_LEFT:
        colour = GRAY
    elif event.key == pygame.K_RIGHT:
        colour = MAROON
    elif event.key == pygame.K_UP:
        colour = BLACK
    elif event.key == pygame.K_DOWN:
        colour = NAVYBLUE

    text = font.render("Hello!", True, (colour))

我已经删除了不相关的内容。只是为了显示添加位置的上下文。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在按键时更改 pygame 中文本的颜色? 的相关文章

  • 如何测试顶级窗口是否打开?

    我感觉 Python 编程可能不是我的菜 我创建了一个 tkinter GUI 它使用按钮回调来打开另一个窗口 其他搜索说这个窗口应该是顶级窗口 并且它工作得很好 但是每次按下按钮时它都会打开另一个相同的窗口 如据我所知 窗口 问题 如何测
  • Python:多处理和请求

    以下是我正在运行的使用多处理并行触发 HTTP 请求的代码片段 在控制台上运行后 它挂在 requests get url 处 既不继续前进也不抛出错误 def echo 100 q print before r requests get
  • 错误只有 size-1 数组可以转换为 Python 标量

    我有这个代码 for a in data X for i in a if not i isdigit x hash i data X column row x row row 1 row 0 column column 1 desired
  • 如何将经度和纬度转换为国家或城市?

    我需要将经度和纬度坐标转换为国家或城市 python中有这样的例子吗 提前致谢 我使用谷歌的API from urllib2 import urlopen import json def getplace lat lon url http
  • 使用 Flask SQLAlchemy 进行表(模型)继承

    我遵循了这个建议question https stackoverflow com questions 1337095 sqlalchemy inheritance但我仍然收到此错误 sqlalchemy exc NoForeignKeysE
  • 按 ListProperty (NDB) 对查询进行排序

    如何按 ListProperty 对查询进行排序 该模型 class Chapter ndb Model title ndb StringProperty required True version ndb IntegerProperty
  • Python中#和"""注释的区别

    开始用 Python 编程 我看到一些带有注释的脚本 and comments 这两种评论方式有什么区别 最好的事情就是阅读PEP 8 Python 代码风格指南 https www python org dev peps pep 0008
  • 在 Python 中比较日期 - 如何处理时区修饰符

    我正在做Python日期比较 假设我有一个这样的约会 Fri Aug 17 12 34 00 2012 0000 我按以下方式解析它 dt datetime strptime Fri Aug 17 12 34 00 2012 0000 a
  • Python 中的二进制相移键控

    我目前正在编写一些代码 以使用音频转换通过激光传输消息 文件 和其他数据 我当前的代码使用 python 中 binascii 模块中的 hexlify 函数将数据转换为二进制 然后为 1 发出一个音调 为 0 发出不同的音调 这在理论上是
  • 我可以在 UITextView 中以编程方式选择文本吗?

    我想在 UITextView 上选择文本 类似于我们点击时看到的默认 选择 和 全选 弹出选项 我希望用户能够从我的自定义菜单中执行此操作 我玩了 selectedRange 但这似乎并没有解决问题 有任何想法吗 Thanks The se
  • Docker:通过 Gunicorn 运行 Flask 应用程序 - Worker 超时?表现不佳?

    我正在尝试创建一个用Python Flask编写的新应用程序 由gunicorn运行 然后进行dockerized 我遇到的问题是 docker 容器内的性能非常差 不一致 我最终得到了响应 但我不明白为什么性能会下降 有时我会在日志中看到
  • 如何在Python中获取绝对文件路径

    给定一条路径 例如 mydir myfile txt 如何在Python中找到文件的绝对路径 例如 在 Windows 上 我最终可能会得到 C example cwd mydir myfile txt gt gt gt import os
  • Python将csv数据导出到文件中

    我有以下运行良好的代码 但我无法修剪数据并将其存储在数据文件中 import nltk tweets love this car this view amazing not looking forward the concert def g
  • 将 ASCII 字符转换为“”unicode 表示法的脚本

    我正在对 Linux 区域设置文件进行一些更改 usr share i18n locales like pt BR 并且需要格式化字符串 例如 d m Y H M 必须以 Unicode 指定 其中每个 在本例中为 ASCII 字符表示为
  • 如何在 Tkinter 的 Button 小部件中创建多个标签?

    我想知道如何在 Tkinter 中创建具有多个标签的按钮小部件 如下图所示 带有子标签的按钮 https i stack imgur com jOZRw jpg正如您所看到的 在某些按钮中有一个子标签 例如按钮 X 有另一个小标签 A 我试
  • if/else 在 while 循环内正确缩进[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我开始学习 Python 编程大约几周了 我遇到了一些麻烦 下面的代码是一个小程序 用于检查列表中是否有偶数 如果找到第一个偶数
  • 写入 UDP 套接字会被阻塞吗?

    如果是的话 在什么条件下 或者 换句话说 在twisted 中运行此代码是否安全 class StatsdClient AbstractStatsdClient def init self host port super StatsdCli
  • Pandas - 分割大的Excel文件

    我有一个大约有 500 000 行的 Excel 文件 我想将其拆分为多个 Excel 文件 每个文件有 50 000 行 我想用熊猫来做 这样它会是最快和最简单的 有什么想法如何制作吗 感谢您的帮助 假设您的 Excel 文件只有一个 第
  • 如何在 Pandas 数据框中用 NaN 替换一系列值?

    我有一个巨大的数据框 我应该如何用 NaN 替换一系列值 200 100 数据框 您可以使用pd DataFrame mask https pandas pydata org pandas docs stable generated pan
  • 升级后 pip 损坏

    我做了 pip install U easyinstall 然后 pip install U pip 来升级我的 pip 但是 当我尝试使用 pip 时 我现在收到此错误 root d8fb98fc3a66 which pip usr lo

随机推荐

  • 按修改日期排序该数组?

    我有一个 php 文件 它在我的用户目录中创建一个包含所有内容的数组 然后该数组被发送回 iPhone 我的 php 创建的数组按字母顺序排序 我希望它按文件创建日期排序 这是我的 php 文件的样子 我该怎么做 谢谢 Using usor
  • 将泛型集合 List<> 绑定到属性网格

    我尝试绑定通用集合列表联系方式 to propGrid但输出与我的预期不符 我想列表联系方式显示为ListBox in propGrid 我该怎么做 谢谢 class Contact public string Name get set p
  • 如何获取执行查询的表名? (蟒蛇/sqlite)

    我正在运行一个简单的查询并将结果转换为 json 我想动态地执行此操作 以便我可以使用一个函数来处理所有查询 query INSERT INTO Tests name start end VALUES params name start e
  • 如何使用项目的哈希值检查 HashSet 是否包含该项目?

    我想检查 HashSet 是否包含特定元素 我已经有了int元素的哈希码 但不是对元素本身的引用 是否可以在不迭代整个集合的情况下做到这一点 没有为什么 哈希码与对象之间没有一对一的映射 鸽子原理 Net HashSet Dictionar
  • 嵌套并行和折叠 for 循环之间有区别吗?

    我知道启用嵌套并行性将允许嵌套 omp 并行 for 循环也被并行化 但我在嵌套的 for 循环 for 内部 中使用塌陷 2 有区别吗 为什么或者为什么不 假设最好的情况 循环索引之间没有依赖性并且其他条件相同 是的 有很大的区别 使用c
  • Asp.net Core azure Web 应用程序日志记录

    我有一个 asp net core 部署到 azure 我正在尝试使用以下命令配置日志记录到我的应用程序Microsoft Extentions Logging接口 目前我的应用程序正在将日志写入网络应用程序存储中的日志文件文件夹 这似乎是
  • 如何为 React 路由设置 apache 服务器?

    我的 React 应用程序在本地开发服务器上运行良好 但当我将生产就绪文件直接转储到 Apache 的 htdocs 目录时 它不起作用 这是我所拥有的 var www index html var www bundle js 我有 Doc
  • 如何使用 Zend 2 保存处理程序 DbTableGateway?

    The Zend Session 保存处理程序本教程提供了 DbTableGateway 的示例 其中使用未定义的 adapter 变量创建 TableGateway 我想使用处理程序来绑定会话管理器 来自教程的上一页 到我的数据库中的会话
  • 默认情况下使用多个字段进行多重搜索

    所以 有一个 jqGrid 带有声明 如下所示 grid jqGrid bunch of stuff searchGrid multipleSearch true 这很好 当我单击 搜索 按钮时 它会为我带来模式形式 我猜是第一列和 sop
  • 执行 C# 交互式 powershell 脚本

    假设我使用 C 执行 powershell 脚本 脚本执行的结果是请求凭据才能继续 Example Pipeline pipeline runspace CreatePipeline pipeline Commands AddScript
  • 如何在 WXP(和更新的 MSWindows)上使用 C# 终止所有[大]子进程

    问题 如何确定子进程中的所有进程流程树杀掉他们 我有一个用 C 编写的应用程序 它将 从服务器获取一组数据 生成第 3 方实用程序来处理数据 然后 将结果返回给服务器 这工作正常 但由于跑步消耗a lotCPU 和may需要长达一个小时 我
  • 具有 C++ 虚函数时的 GDB 不完整类型

    我刚刚注意到一些奇怪的事情 当我在类中添加 虚拟关键字 除构造函数之外的任何函数 时 我无法在 GDB 中显示对象的内容 GDB 说 不完整类型 这是代码 reco h ifndef RECO H define RECO H include
  • 使用 api 1.1 的 Twitter POST 问题

    我们刚刚更改为 Twitter api 1 1 现在发推文不起作用并返回错误 远程服务器返回错误 400 错误请求 对此进行的研究表明 这与身份验证有关 但我们正在发送刚刚从登录页面获得的 accessToken 和机密 在 api 1 0
  • Linux内核中使用的三个优先级有什么区别?

    我是 Linux 内核的新手 现在我正在研究 Linux 内核中的进程调度 Linux 中存在三种类型的优先级 静态优先级 动态优先级 实时优先级 现在我明白的是 静态优先级和动态优先级仅针对传统进程定义它们只能取 100 到 139 之间
  • 使用令牌保护 REST Web 服务 (Java)

    这个问题在某种程度上与下面链接的问题相关 但是 我需要更清楚地了解某些方面和一些附加信息 参考 REST Web 服务身份验证令牌实施 背景 我需要使用令牌实现 REST Web 服务的安全性 Web 服务旨在与 Java 客户端一起使用
  • 是否有 JavaFX 方法来测试坐标是否在闭合路径内?

    我试图找到一种 JavaFX 方法来检测坐标是否位于闭合路径内 我创建了以下示例 并研究了各种方法 但是没有任何效果如我所愿 只有在非矩形形状内时才返回 true Node contains 仅适用于形状的边缘 不适用于内部 Node in
  • 如果仅知道密钥和明文,则恢复 AES IV

    如果我以 AES CBC 模式解密密文 并且第一个块的解密明文与原始已知明文不匹配 则很明显用于解密的 IV 与加密期间使用的 IV 不匹配 用于加密或解密的 IV 均未知 如果我知道密文 我可以执行以下操作来查找加密期间使用的 IV 尝试
  • Python 中限制函数执行

    类似的问题和答案还有很多 但我仍然找不到可靠的答案 所以 我有一个函数 可能运行时间太长 函数是私有的 从某种意义上说我无法更改它的代码 我想将其执行时间限制为 60 秒 我尝试了以下方法 Python 信号 不适用于 Windows 和多
  • 在 Eclipse 中获取类中所有方法的概览

    我已经完成了相当多的 xCode 编程 发现类中方法的概述视角非常有用 它看起来像这样 MY GROUP 1 lt defined with pragma mark MY GROUP 1 M method11 M method12 M MY
  • 如何在按键时更改 pygame 中文本的颜色?

    当谈到 pygame 时 我是一个完全的业余爱好者 我需要制作一个程序 当文本沿不同方向传播时 该程序会改变文本的颜色 这意味着每次按键 上 下 左 右 颜色都会不同 到目前为止 我已经能够让文本向各个方向移动 但是我不明白如何改变颜色 任