使用SDL的桌面游戏
Board Game using SDL
我正在用SDL构建一个棋盘游戏,这是我目前面临的问题。
我在方块1上有一个兵,我掷骰子。根据我在骰子上得到的值,小兵移动到另一个方格。在我在线阅读了SDL教程后,我开始移动典当。但我面临的问题是,在移动到一个新的位置后,旧的pawn仍然停留在旧的位置。我在网上找到的教程移动了一个点,但也刷新了背景来掩盖旧的点。但我不能这样做,因为我的游戏棋盘很复杂,那里有其他玩家的棋子。
在SDL中是否有一种方法,我可以真正移动一个兵,而不是在新的位置创建一个新的兵,并掩盖旧的兵?
精灵的基本概念:在插入精灵之前,保存原始屏幕内容的副本。当你需要删除精灵时,你只需要将存储的旧内容粘贴回去。
你必须以正确的顺序(LIFO)来处理所有的对象。由于您通常会使用双缓冲区,所以这发生在冷缓冲区上,所以这不是问题。
不,你的代码将需要能够重新绘制棋盘位置与兵失踪。计算机不可能自动重建出没有兵的棋盘。
听起来你的渲染代码和你的游戏逻辑混在一起了。你应该分开渲染,这样你就可以用一个函数调用重新绘制完整的游戏场景,然后你可以在游戏状态发生明显变化时使用它。
相关文章:
- 试图在visual studio上用C++创建一个桌面应用程序
- 在C++游戏中与库存系统作斗争
- 换位表导致测试失败(但在游戏中运行良好)
- Craps游戏问题,忽略if语句
- 矢量下标超出SFML游戏中的范围
- 我是 c++ 的新手.学习基本知识后,我想做井字游戏.对于印刷板,我在下面写代码,但它显示错误
- 如何在桌面C++上使用 WinApi 画线
- 我在贪吃蛇游戏中收到了错误代码 -1073741571
- 我应该在简单的策略游戏中为各个派系使用类吗 - C++
- 游戏体验和升级
- 我的代码运行良好,但在游戏循环中中断
- 如何使用 SFML 在贪吃蛇游戏中定义游戏结束?
- 我可以使用任何好的逻辑来阻止计算机将 O 放在井字游戏中的现有 X 上
- 将鼠标和键盘输入发送到 unity3d 游戏 (Rust)
- 桌面中的Qt QMessageBox中心'critical'
- 我可以在C++桌面游戏中使用崩溃吗?
- C: 用户约书亚桌面游戏项目 SFML项目测试渲染.cpp | 15 |错误:'类s
- 是否有办法将游戏列表信息从Steam进入桌面应用程序?
- 使用SDL的桌面游戏
- 追踪用户登陆桌面游戏的位置