gpt4 book ai didi

c++ - 带有线程的 setCursorPosition()

转载 作者:行者123 更新时间:2023-11-28 04:23:51 24 4
gpt4 key购买 nike

我是一名即将成为程序员的人,正在尝试使用 C++ 构建游戏(目前是控制台应用程序)。但是一件烦人的事情是烦扰我并阻止我。问题是我希望在让游戏角色移动以及产生敌人时能够使用多线程。但问题在于,因为这两个函数是独立的函数,而且 setCursorPosition 只有一个输入点,当这两个函数纠缠在一起时,游戏总是会搞砸。解决方案是什么?如果你们需要它,我可以发送一些源代码来尝试进一步解释我的问题。非常感谢示例和视频!

最佳答案

一个解决方案是只让一个线程更新您的屏幕。

例如,您可以有一个帧缓冲区,它是您的线程绘制到的内存区域,然后另一个线程定期将整个帧缓冲区绘制到屏幕上。当您使用两个这样的缓冲区时,您可以隐藏中间绘图步骤。但其实这个线程设计的很乱。

最好的解决方案是只使用一个线程(没有多线程,根本没有 std::thread)。在我看来,您似乎不需要多个线程,而是一个基于事件的系统,在该系统中,各个实体独立行动并绘制到同一屏幕。你不需要线程。

多线程是 2019 年的火箭科学,尤其是在 C++ 中。除非您是专家,否则不要这样做。

关于c++ - 带有线程的 setCursorPosition(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54873060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com