- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在编写一个应用程序来显示出现在 PyGame 窗口中的消息列表;为了让事情更漂亮,我决定为文本添加一个漂亮的淡入/淡出效果。
问题是:SDL 只允许每像素或每表面 alpha,而不是两者。所以我编写了一个函数,根据所需的“层”不透明度重新计算像素 alpha,但它当然非常非常慢(即使在核心 i7 @2.7GHz 上,它也会下降到 ~10FPS):
def apply_alpha(surface, alpha):
for x in xrange(surface.get_width()):
for y in xrange(surface.get_height()):
color = surface.get_at((x, y))
color.a = int(color.a * alpha)
surface.set_at((x, y), color)
return surface
完整示例在这里:https://gist.github.com/rshk/5072173 (不是真正的应用,只是一个相关的例子)
有什么办法可以加快速度吗?我看到可以直接访问底层缓冲区,这避免了 Color
对象的实例化,但是以这种方式更新 alpha 似乎更慢,调用 BufferProxy.write()
方法..
也许使用硬件加速的东西会有所帮助?我认为这里的理想情况是在将表面 blitting 到背景上的同时应用 alpha,但我不是这种事情的专家..
注意:更改文本颜色是不可能的,因为背景可能并不总是黑色..
最佳答案
因为这可能会成为某些人 future 的引用,我按照@Xymostech 的建议做了:创建另一个与渲染文本大小相同的表面,并在该表面上应用 alpha,使用 .set_alpha()
.
关于python - Pygame - 表面淡入/淡出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15177568/
我似乎对 git 存储库有权限问题。 当我 pull 入一个不是我的 Linux 用户创建的目录时,我出现了这个错误。 fatal: Unable to create '/home/---/.git/
在 Git 中,您可以将给定目录克隆到给定目录: git clone ssh://gitolite@dev.bipper.com:3687/com/bipper/kids/portal 当我运行我们
目前,如果您在分支 V2 中并执行“git pull origin V3”,它会将 V3 merge 到 V2,甚至不会发出警告或提示。这个选项可以以某种方式被阻止吗?我在这里阅读了所有类似的问题,人
我刚开始使用 Oracle 的 Coherence 缓存,我注意到这一点:如果我在缓存中放入一个 ConcurrentHashMap 对象,当我检索它时,我可以看到它被转换为一个普通的 HashMap
看起来我缺少对 git pull 和 git commit 的基本理解,假设我在分支上工作,而它在我更新时被其他开发人员更新了在本地做我的工作。我应该在发出 git pull 之前提交更改,还是应该执
好的。所以我以为我已经舔过了……但现在…… 我有一个项目,其中包含一个来自 GitHub 的小型库作为子模块。在该 super 项目的原始版本中,子模块按预期工作。 但是,我只是克隆了 super 项
使用 Visual Studio Code 中的内置 Git,我看不到将指定的远程分支 pull 入当前分支的方法。我可以这样做吗? 示例:我正在分支 myBranch 上工作,更改已 merge 到
当我尝试提交或 pull 此错误时 Bus error (core dumped) 发生了! 当我用 gdb 调试它时,(gdb git,run commit -a,where) 结果是: mucul
我对默认 Rails Rake 任务的预期用途有点困惑,想咨询一下我是否应该使用 db:reset或编写自定义 Rake 任务。没什么聪明的,只是日常管理,而且我很可能会错过一个明显的文档,因为我是
所以我做了: git reset --hard #commithash # make a bunch of changes, fixes and so on. git add -A git commi
我已使用以下命令成功部署到 firebase 托管应用: firebase init firebase deploy 在这个阶段,我正在执行 git pull 以将 repo 下 pull 到暂存服务
当尝试在 Eclipse 的 git 存储库中 pull (团队|从上下文菜单中 pull )时,出现 Could not get advertised Ref for branch refs/hea
我是一名优秀的程序员,十分优秀!