问题标签 [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 回答
1480 浏览

actionscript-3 - AS3 Blitting 比影片剪辑慢。为什么?

我尝试结合 Lee Brimlow 的 blitting 教程系列和 Rex Van der spuy 的“带有 Flash 的高级游戏设计”中的技术

我是一名开发人员,致力于在 Flash 中制作的网络在线虚拟世界。我做了一个电话应用程序(类似于侠盗猎车手游戏中的电话)。无论如何,当发送消息时,我们想要播放一个信封飞来飞去并在其周围闪闪发光的疯狂动画。它很滞后(尤其是在较旧的计算机上),所以我认为这将是一个使用 blitting 的好机会。然而,blitting 动画实际上比普通的movieclip 慢!!这到底是怎么回事?blitting 是否只对移动设备更好,而在计算机上实际上更慢?也许我做错了什么。这是我的代码:

// 这部分发生在电话初始化时

// “BlitSprite”是我创建的一个类。它看起来像这样:

整数 = 0; 私有变量_count:int = 0;

它还使用 BlitConfig 存储有关由 TexturePacker 吐出的 spritesheet 的信息

0 投票
2 回答
11583 浏览

c++ - SDL:在另一个纹理之上渲染纹理

我遇到以下问题:

我需要在另一个纹理之上渲染一个纹理,然后渲染那个主纹理。例如,我有蓝色矩形纹理,我想在这个蓝色矩形上绘制红色矩形。但是我希望他们只在这个矩形上限制渲染。如下图: 在此处输入图像描述

我读过一些关于它们之间的纹理 blit 或类似的东西,但我不确定这是否可行。

我的代码如下所示:

任何人都知道如何在 SDL 2.0 中做到这一点?顺便说一句,这就是我使用的。

0 投票
1 回答
813 浏览

c++ - 设置每个像素的最快方法

我在 C++ 中编写了一个小光线追踪器,
并希望在窗口中显示光线追踪图像。

我尝试使用pixel buffer objectin opengl
然后将缓冲区映射到内存中并逐个操作像素,
但是在全屏分辨率 1920x1080 下,我只能在4 fps
没有光线跟踪的情况下获得,并且不会更改像素颜色
,只是映射和取消映射!

所以我基本上是在寻找在窗口中显示光线追踪图像的最快方法。

我目前正在这样做:

0 投票
1 回答
15424 浏览

python - 如何在 python 中,在特定图像的区域内对图像进行 blit 处理?

我正在制作一个游戏,我需要在特定图像的区域内对我的对象进行 blit。我不想让我的表面来处理这些图像。可能吗?(我正在使用 pygame)

0 投票
3 回答
1259 浏览

c++ - SDL_Surface refuse to blit

I'm trying to make a very little and simple snippet with SDL. This one works like a charm :

and this one doesn't work at all :

TTF_GetError() return nothing so I assume TTF_RenderGlyph_Blended works well and SDL_GetError() send me this :

SDL_UpperBlit: passed a NULL surface

::::::::::::::::: EDIT ::::::::::::::::::

Ok, I've fix the NULL problem, but the blit is not good yet:

Should display B but go Z instead...

0 投票
1 回答
286 浏览

python - 我应该在 pygame 游戏中添加什么类型的动画文件?

我想为我的游戏制作复杂的动画,但我不知道怎么做。

我首先认为您必须将动画文件添加到游戏中并对其进行 blit。例如我的游戏,每次你射击时碰到鬼就会爆炸。因此,外部动画文件被调用并被复制到屏幕上,并在幽灵接触子弹的地方播放。这在大多数游戏中都使用吗?

如果使用它,我应该使用什么动画文件扩展名,.ani?,.flc?,.gif?或.webp。我并不是说这些是唯一可用的动画文件扩展名。它有点像游戏中的背景音效,就像.wav文件一样,当某件事发生时它会播放,但在这种情况下,动画会闪烁到屏幕上然后播放。

但是当我在互联网上看到一个 python/pygame 代码示例时,他们只是添加了可能不会使爆炸看起来像实际爆炸的代码。动画只是移动 pygame 图像和形状。

但我正在考虑是否应该有动画......

  • 那么我应该制作一个外部动画文件还是坚持使用python代码示例?
  • 但是,如果我制作一个外部动画文件,如何将动画复制到屏幕上并同时播放呢?
0 投票
2 回答
482 浏览

python - How do I blit an image on a keypressed event in pygame

I'm trying to blit an image to the screen when the event K_SPACE is triggered. However, when I press space nothing happens. I've tried moving where the screen is updated or flipped, but i've hit a brick wall.

Here is my code:

0 投票
0 回答
751 浏览

gtk - GTK/cairo 中的实时位图

在 Windows 中,我可以随时将位图传送到 GetDC 拾取的 DC,而无需调用 InvalidateRect 发出 WM_PAINT 消息。如何将此行为移植到 GTK/cairo?

在后台线程中,我想

  1. 在窗口内缩放给定位图以“最适合”(需要知道像素的宽度和高度)
  2. 将缩放的图像blit到屏幕上

它不应该通过暴露事件来完成(渲染循环很快,所以无论如何都会及时绘制窗口)。完整的逻辑是

  1. 创建一个窗口
  2. 获取窗口的上下文
  3. 开始消息循环
  4. 用户按下“开始”按钮
  5. 启动一个新的程序线程来检查停止标志。如果它是假的,它会发出定期更新窗口内容的命令,而无需用户交互。同时,消息循环检查用户输入。
  6. 当用户按下“停止”按钮时,停止标志会引发,导致渲染线程退出

当渲染线程没有运行时,暴露事件应该调用与渲染线程相同的代码。

在创建 GtkDrawingArea 之后,我试图捕捉 cairo_t* cairo_obj(我得到了一个)

动画线程然后调用图像绘制重复发出

这在进行事件传递时有效,但在其他情况下无效。在绘图代码交换缓冲区结束时是否需要进行其他调用?

如果这不能用 GTK/cairo 完成,是否有任何其他工具包可以让我这样做?在X下有可能吗?

0 投票
1 回答
346 浏览

c# - Windows 商店应用程序中的叠加位图(writeablebitmap 等)

我有 2 个位图(前景和背景),我需要将它们叠加在一起以形成一个新的位图并将其用作按钮的 ImageBrush。代码看起来像这样(Windows 8.1 商店应用程序):

如何实现上面的 Overlay(...) 方法?

我试过了:

但它不起作用(使用 BlendedMode None 或 Additive)。

谢谢。

0 投票
1 回答
133 浏览

python-3.x - Pygame 从表面删除一些东西,并为它保持一个计时器而不暂停游戏

我开发了一个游戏,并在屏幕上显示如下文本:

所以屏幕上现在出现了一条消息“Hello World”。我需要的是一种将这条消息保持几秒钟然后隐藏它的方法。我认为一个简单的方法是创建一个变量来计算循环的每一轮,当计数器达到多轮时(这将等于时间,100 轮 = 1 秒),然后通过改变来隐藏消息消息为空字符串,例如:""

我尝试了这种方法并且有效,但我需要一些不同的东西,首先是一种从表面上真正删除消息的方法,以及一种更好的方法来为消息保留时间但是这种更好的方法我不想停止我的其他事情将在游戏中添加(稍后)。

例如,一个精灵将使用图片的各种不同状态进行动画处理,以制作动画(人行走)。所以睡眠/暂停游戏几秒钟不是一个好主意。