问题标签 [blit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1242 浏览

c++ - 在 SDL 中渲染静止图像

我目前正在学习 SDL,并且正在尝试创建 Pacman 游戏。我正在尝试逐步进行,以免陷入大量代码的困境。

到目前为止,我已经创建了一个空白窗口并在上面渲染了一个 Pacman 图像。我可以按箭头键并在窗口周围移动 Pacman。我已经设置好了,所以 Pacman 图像存储为 SDL_Texture,我使用 RenderCopy 将其传送到窗口。每次用户按下箭头时,我都会移动图像的坐标并重新渲染整个图像。这工作得很好。然而,现在我想在屏幕上放一些点,让吃豆人吃东西。但是,如果我加载一个点图像并将其存储为新纹理以与 Pacman 一起在屏幕上闪烁,那么每次我移动 Pacman 时,点都会闪烁进出,因为它正在与 Pacman 一起被擦除和重新渲染。

我的问题是,如何避免这种“闪烁”?我可以以某种方式只重新渲染 Pacman 而不重新渲染屏幕的其余部分吗?还是有其他方法可以做到这一点?我想当我稍后在后台尝试创建迷宫时,我也会遇到同样的问题。如何制作每次重新渲染时都不会闪烁的静态背景?

以下是我到目前为止的代码。如果那里有任何格式错误的代码,请原谅我。正如我所说,我刚刚开始学习 SDL(对 C++ 也很陌生),所以如果有任何明显的“你不应该那样做!” 里面有一些东西,我会很感激有人指出:)

编辑:在回答 raser 的评论时,这里是我找到 PollEvent 示例的链接:http ://wiki.libsdl.org/SDL_CreateRenderer?highlight=%28%5CbCategoryAPI%5Cb%29%7C%28SDLFunctionTemplate%29

0 投票
1 回答
234 浏览

python - 在 3D Matplotlib 图形上显示 2D 图像

我想将 2d 图像(如 png)blit 到 3D matplotlib 图上的 3 空间中的位置。本质上,我希望图像始终面向用户,无论情节如何旋转。如果 blitted 图像在用户放大和缩小时也不会缩放,那将是最好的。

有人会认为通过访问 matplotlib 中的低级光栅函数很容易做到这一点,但我找不到任何描述我想做的文档。

0 投票
1 回答
430 浏览

python - 鼠标单击矩形时的困境

所以我的想法是我有一个windowSurface.blit 矩形,当我用鼠标左键按下它时,它会执行这些命令MOVE_SPEED = 9 end_it_levels = True,但我不知道该怎么做。鼠标功能在这里http://www.pygame.org/docs/ref/mouse.html#comment_pygame_mouse_get_pos

基本上这里的代码,但是您单击鼠标左键并在 blit [buttonEasy = pygame.Rect(10, 150, 200, 90)] 的坐标内

类似的新困境

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 直到具体循环的代码:

0 投票
1 回答
604 浏览

python - Python Blitting 不起作用?

我正在用 python 和 pygame 编写游戏,我试图创建一个主菜单,但我的标签不会显示????我也收到这个错误:第 22 行,在 x,y = pygame.mouse.get_pos( ) 错误:视频系统未初始化???我不明白这里发生了什么,因为我对 python 很陌生,这是我的代码:

谁来帮帮我!!!

0 投票
2 回答
266 浏览

python - 如何在pygame中动态制作半透明图像

我正在使用 pygame 中的自定义 gui 组件,并且在制作滑块组件时,我为滑块提供了一个Draw(parentSurface)函数,该函数将滑块绘制到其存储位置的父表面上。

现在这可行,但滑块存储两个图像:

  • 一个幻灯片图像,它是由瓦片动态制成的,以匹配滑块的给定长度,以给定长度的宽度和 3 像素的高度进行测量;和
  • “选择”图像,它只是一个小的 8x12 指示器,用于显示滑块的位置。

问题是当我Draw(parentSurface)这样做时:

但是,它在self.image. 我希望它是半透明的,这样背景就可以通过self.image. 我应该放弃拥有并将and直接self.image绘制到父表面吗?self.slider_imgself.select_img

0 投票
1 回答
206 浏览

python - blit 函数在屏幕上呈现 utf-8 字符串

我编写了一个 pygame 脚本,可以在屏幕上呈现水平移动的文本。它可以工作,但是当我将字符串更改为非拉丁字符串(波斯语)时,它不能完全工作。我的意思是它可以做所有事情(动画,渲染......),但是角色与每个角色都不同,尽管它们显示为健康,但不是按照预期的顺序。我的意思是每个字母都显示得很好,但是没有呈现一个单词,而是呈现了一系列字符。

字符串应该是سلام ,但它被渲染了م ا ل س

这是完整的代码:

0 投票
0 回答
255 浏览

opengl - 导致屏幕撕裂或卡顿最可靠的效果是什么?

我正在尝试研究减少或消除屏幕撕裂的各种策略,例如各种 vsync 实现、手动帧速率计时、双缓冲等。我计划创建一个教程或论文来解释我的发现。

但是,首先,我需要创建一个简单的 opengl 程序来演示效果,这样我就会知道各种策略的效果如何。哪些类型的动画和效果最容易产生撕裂?我知道快速移动通常会触发它,但我假设我可以使用某种方程式或经验法则。

我试过用谷歌搜索,但我只能找到关于如何停止撕裂的无穷无尽的线索,没有有条不紊的方法来创建它。

0 投票
1 回答
286 浏览

python - 在类中使用 pygame.Surface.blit

我只能给我的班级打电话一次。我的代码是:

当我在游戏循环内部或外部调用“鱼”对象时(fishes.append(fish(900, 300, fish_1, 1)) 我得到了错误:

0 投票
1 回答
1073 浏览

text - 打印文本 - Python / Pygame

目前我正在使用 pygame 开发一款小型“太空侵略者”风格的游戏,我想根据分数/健康水平创造各种结果。我希望这样做,如果敌舰已经通过玩家并离开屏幕并且分数目标尚未达到,那么我希望它显示一条消息,说明目标分数尚未达到。

到目前为止,我有这段代码,我认为应该允许这种情况发生:

在这里它被更深入地实现:

如果有人知道为什么一旦遇到 if 语句就不会打印文本,我真的很感谢您的帮助。谢谢你。


更新

我刚刚意识到字体确实会打印到屏幕上,但是只有当我设法避免与所有敌舰发生碰撞并且我不发射子弹时才会发生这种情况。有谁知道为什么会发生这种情况?谢谢

0 投票
2 回答
92 浏览

python - 尝试使用 blit 以编程方式显示矢量

python新手,我只是想测试一些东西。根据一些研究,我认为我需要一个列表来存储所有矢量点

一切都很好,我将其作为打印件进行测试。

但现在我想将每个元素用作 blit 的向量。所以我的代码看起来像这样

(有一个错误TypeError: list indices must be integers, not list:)

我知道 blit 需要一个 int,但是还有其他可用的功能或我可以做些什么来实现我的目标吗?我愿意接受任何和所有建议(即使这意味着做一些与我目前正在做的不同的事情,我只是从头开始做这一切,在这个意义上对 python 或向量的经验很少),提前谢谢你。

编辑:

我想说的另一点是我正在尝试制作一个 NavGraph,所以我需要节点,所以这本质上就是节点,所以如果这会影响任何人的回答/评论,只是想把它放在那里。

编辑2:

为了进一步澄清我的问题,我想解释一下我实际上是在尝试将向量传递给 blit,但我需要一个整数。我想知道是否有另一个函数或其他东西可以用来基本上传递向量而不是整数,并且仍然让它在窗口中绘制