因此,我正在制作一款游戏,并且我需要输入函数才能拥有截止日期,并且我希望将时间显示在其中一个控制台角落中。我有计时器在单独的线程上运行。 我想向用户显示他已经离开了多少时间,可以说在第一行的末尾写入varibale TimeLeft,但保持所有其他行不变。 那么是否有任何功能允许我在控制台窗口内的特定位置上打印/显示/ cout变量。 使用C++,Windows平台,控制台应用程序基于Windows控制台的游戏
-4
A
回答
1
在Windows上,您可以使用SetConsoleCursorPosition()在控制台中设置位置,从print/cout输出的内容将被写入。您需要将控制台句柄和COORD结构传递给函数。您可以使用GetStdHandle()获取句柄。
https://msdn.microsoft.com/en-us/library/windows/desktop/ms686025%28v=vs.85%29.aspx https://msdn.microsoft.com/en-us/library/windows/desktop/ms683231%28v=vs.85%29.aspx
这里有一个简单的例子:
HANDLE hndl=GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos={0,0};
SetConsoleCursorPosition(hndl, pos);
但是,为什么你运行你的计时器在一个单独的线程?不应该有任何需要这样做。只需测量游戏开始后的时间(请参阅示例:How to use clock() in C++),然后从总时限中减去已用时间。
+0
我认为SetConsoleCursorPosition是全局的,所以在一个线程中使用它可能会干扰主线程的输出。 WriteConsoleOutput可能是更好的选择。 –
相关问题
- 1. 基于控制台的游戏冲突不起作用
- 2. iPhone平台游戏。控制?
- 3. Jython作为游戏中的java游戏控制台
- 4. 作为游戏控制器的Windows Phone
- 5. 基于Servlet的基于游戏的游戏
- 6. 控制台或图形游戏设计?
- 7. C# - 保存控制台游戏值
- 8. C#控制台随机数猜游戏
- 9. 更改游戏中的游戏控制
- 10. 制作基于数学的游戏
- 11. Laravel使用基于用户进度的游戏控制器
- 12. 基于文本的游戏的基本保存游戏
- 13. 基于级别的游戏
- 14. 基于文本的游戏
- 15. 基于PHP的游戏
- 16. 基础平台游戏基于矩形的碰撞问题
- 17. 制作控制台游戏。我想在游戏结束时获得0 HP
- 18. 游戏控制器的WinAPI
- 19. 遍历基于游戏
- 20. 基本A星级寻路游戏平台游戏。
- 21. 在UDK/Unity3d中将PC制作成控制台的游戏
- 22. C#柜台游戏控制台应用程序
- 23. 适用于3D游戏的Android API或游戏平台
- 24. 游戏平台
- 25. C#简单的2D游戏 - 制作基本的游戏循环
- 26. 游戏循环控制
- 27. 编程游戏控制器
- 28. iphone游戏控制帮助
- 29. 安卓游戏控制
- 30. 游戏控制面板
请参阅[本](http://stackoverflow.com/questions/36092262/resetting-or-clearing-line-in-c-output/36092727#36092727) – ZDF
重复您以前的(关闭的)问题。 – halfer