- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在学习使用 pygame,但在渲染文本时遇到了一些问题。
我正在使用的简化代码是这样的:
import pygame
sizex =200; sizey =200
pygame.init()
clock = pygame.time.Clock()
screen = pygame.display.set_mode((sizex,sizey))
myfont = pygame.font.Font(None, 32)
score=pygame.Rect(100,100,100,50)
screen.fill((255,255,255))
pygame.draw.rect(screen, (0,250,0), (10,10,10,10), 2)
pygame.display.update()
for i in xrange(0,1000):
msElapsed = clock.tick(2)
text="I = %d" %i
label = myfont.render(text, 1, (0,0,250))
screen.blit(label, (100, 100))
pygame.display.update(score)
我只想更新包含文本框的屏幕部分。但是这段代码并没有这样做。一段时间后,文本会自行覆盖并变得不可读。
我做错了什么?
最佳答案
问题是,当您 blit 文本时,文本的背景是透明的(请注意,这很重要,例如当您想要背景图像时)。您必须先“清除”矩形,然后再对文本进行 blit。在你的例子中,当你使用纯色作为背景时,你可以这样做:
for i in xrange(0,1000):
msElapsed = clock.tick(2)
text="I = %d" %i
label = myfont.render(text, 1, (0,0,250))
screen.fill((255,255,255), rect=label.get_rect(topleft=(100,100)))
screen.blit(label, (100, 100))
pygame.display.update(score)
如果您使用图像而不是纯色,则必须对背景的适当区域进行 blit。
编辑:
正如 Bartlomiej 所指出的,如果新字符串比前一个字符串排序更好,它就不会被完全删除。你可能每次都清空整个屏幕,或者想办法清空你需要清空的内容,例如,存储上一个 blit 的区域:
previous_rect = None
for i in xrange(0,1000):
msElapsed = clock.tick(2)
text="I = %d" %i
if prev_rect:
screen.fill((255,255,255), rect=prev_rect)
label = myfont.render(text, 1, (0,0,250))
previous_rect = label.get_rect(topleft=(100,100))
screen.blit(label, (100, 100))
pygame.display.update(score)
关于python - pygame - 更新得分框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26259922/
学生分数的正则表达式是什么:12.5, 99.5, 87, 1.66 该字段可以为空 (.) 的最大字符长度为 5,如下所示:99.99 分数介于 0 到 100 之间 我用过这个,但是不起作用 va
对于服务器游戏...我有表珠宝: rank,player_id, plscore. 我想显示按分数从高到低排序的前 10 名玩家,如果当前玩家不在前 10 名,则加上当前玩家的分数。 如果我/你目前不
我的游戏中颜色很少: class GameScene: SKScene { let colors = [SKColor.green, SKColor.red, SKColor.blue, SKColo
我正在尝试用 HTML 创建一个简单的多项选择程序,但我在获取用户输入并在最后显示他们的分数时遇到了问题。有人可以帮帮我吗? 我的多项选择测验有 10 个问题,每个问题有 4 个选择。 例如有一个问题
有谁知道如何使用 Foursquare API 获取 field 的分数/评级(例如 9.0/10)? 我正在通过无用户访问进行连接。 https://developer.foursquare.com
我希望能够计算一个矩形相对于矩形网格的 Jaccard 分数/距离(距离为 1 分)。我的网格是 50x50(总共 1625625 个矩形)。 我能够在 0.34 秒内针对所有这些计算出我的输入矩形的
我有这样的文件(当然是简化的情况): Category: A, Rating: 10 Category: A, Rating: 9 Category: A, Rating: 5 Category: B
我想每秒将分数增加 1 分,但我很难让它正常工作。 例如 (伪代码): int score = 0f // on create updateEverySecond() { score += 1
我现在正在制作一款新游戏,您可以在其中保存您的高分,但我不知道是否可以实现 Facebook 排行榜。这样用户就可以看到他们的 friend 并看到他们的高分是多少。这可能吗?好吧,我在不同的应用程序
谁能帮我把它转换成 C#。这真的伤害了我的大脑。 http://www.evanmiller.org/how-not-to-sort-by-average-rating.html require 's
最好的方法是什么才能让标签包含击杀数、生命值或随着与其相关的变量发生变化而更新的分数?目前我只是使用 SKLabelNode 并使用变量为其分配文本,但未计算文本属性,因此它在初始化后保持静态。每次更
我有一个 Wordpress 网站。尝试使用 Google PageSpeed Insights Tool 获得 100/100 分数,但遇到 1 个“错误”。谷歌表示; Eliminate rend
自 V5 以来,与 V4 相比,评分发生了变化。该文档解释了性能、渐进式 Web 应用程序、可访问性、最佳实践和 SEO 的分数,但没有解释总体分数。根据图片,桌面版为 59。 任何人都可以帮助我了解
我运行了自述文件中的示例代码 tryolabs/TLSphinx README.md ,Hypothesis的text属性的结果是空格,而score属性的结果是负数-4420。 为什么我在假设的文本属
确保我做对了: 如果我们使用 sklearn.metrics.log_loss独立的,即 log_loss(y_true,y_pred),它产生一个正分数——分数越小,性能越好。 但是,如果我们使用
我有一个 iframe加载第三方小部件。我只想显示这个iframe在我的页面加载后,因为我不想减慢我的页面加载速度。我关注了 medium article其中描述了如何执行此操作,但他们的解决方案不起
我是一名优秀的程序员,十分优秀!