【问题标题】:Is it a good idea to use output stream to display text "in-game"?使用输出流在“游戏中”显示文本是个好主意吗?
【发布时间】:2011-10-31 19:51:59
【问题描述】:

假设我正在制作一个游戏,当按下 ENTER 时可以显示和滚动/确定文本。 使用输出流类并将我的“原始”std::string 发送给它是个好主意吗?我正在考虑这样做,以便将消息发送到控制台或使用花哨的显示样式发送到实际屏幕会更容易

谢谢

【问题讨论】:

  • 这是一个user experience 问题。
  • @Hossein:不,不是。他的设计已经基本弄清楚了,现在他正在询问实施。
  • @Hossein:这怎么可能是一个远程用户体验问题?
  • 好吧,我承认我误解了这个问题。 :)

标签: c++ iostream outputstream


【解决方案1】:

没有什么能阻止您创建自己的流缓冲区类,然后可以转发到 std::cout 或在以后做一些更奇特的事情。

我建议在http://spec.winprog.org/streams/ 阅读这篇关于 iostreams 的文章,并使用提供给您的内容自行开发。阅读本文以了解正在发生的事情。

Boost IO 流库让您更轻松地创建自己的流:

http://www.boost.org/doc/libs/1_43_0/libs/iostreams/doc/index.html

【讨论】:

    【解决方案2】:

    如果您的“原始”字符串由可打印的文本组成,则将std::string 转储到std::cout 并使用operator<< 进行打印并没有错,例如:

    // Display prompt to user
    std::string output("Please press <ENTER>: ");
    
    std::cout << output << std::flush;
    
    // Wait for user to press <Enter>
    std::string input;
    
    std::getline(std::cin, input);
    

    【讨论】:

      猜你喜欢
      • 2011-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多