【问题标题】:SDL blitting surface on surfaceSDL blitting surface on surface
【发布时间】:2012-02-18 17:08:44
【问题描述】:

我和我的朋友正在开发一个游戏项目,但我们似乎碰壁了。我们有一个系统,它从不同头文件的命名空间中获取 SDL RGB 表面。我们将它blit到屏幕上,(SDL_SetVideoMode),然后我们从另一个命名空间头文件中再blit一个,然后在同一个屏幕上blit第二个。它覆盖了屏幕,我们看不到第一个表面..

有什么想法可以让两个表面相互遮蔽吗?

【问题讨论】:

  • 我不太明白。你的第二个表面是否更小,或者有透明度或其他什么?你想让第一个显示在下面吗?我们可以看看一些代码吗?
  • 嗯,我有一个更大的表面,第二个更小,我想在更大的表面上显示较小的表面。

标签: c++ visual-c++ sdl


【解决方案1】:

看来你的抽奖顺序搞错了。

请记住,SDL 没有 Z 顺序,因此要实现一个对象在另一个对象上的错觉,您必须先将其绘制在下方。就像你在现实生活中画一幅画一样。

【讨论】:

    【解决方案2】:

    看起来你的表面失去透明度,当blitted到另一个表面时。 srcrect 中的像素会失去透明度,因此您无法看到表面后面。可悲的是,我不明白为什么会这样。顺便说一句,祝你好运。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-26
      • 1970-01-01
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多