【问题标题】:Allegro 5 al_draw_textf()快板 5 al_draw_textf()
【发布时间】:2013-06-22 21:02:48
【问题描述】:

我一直在研究如何使用 Allergo 5 在屏幕上绘制字符串,并且知道 al_draw-textf() 的工作原理类似于 stdio.h 中的 printf() 。因此,当我想在控制台窗口上打印一个字符串时,我会写 printf("%s" , string_name); 但是当我写这个时

al_draw_textf(字体, al_map_rgb(255, 255, 0), 250, 250, ALLEGRO_ALIGN_LEFT , "%s" , num);

显示屏上没有任何文字。当我将 %s 更改为 %d 并将 num 变量更改为整数时,它会正确绘制 num 的值。是我做错了什么还是这个函数只用于绘制整数变量?

【问题讨论】:

  • 你能展示你的代码的相关例子吗?
  • 我已经解决了这个问题。我应该将num 变量声明为const char * 而不是字符串
  • @Sam379,如果您使用 C++ 字符串将 C 兼容字符串传递给 Allegro,则可以使用 c_str() 方法。

标签: c++ allegro5


【解决方案1】:

如果您只想绘制一个不带格式的常量字符串,只需使用:

void al_draw_text(const ALLEGRO_FONT *font,
   ALLEGRO_COLOR color, float x, float y, int flags,
   char const *text)

虽然你正在做的应该仍然可以工作,所以如果上面没有帮助,你需要发布更多代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 2011-06-13
    • 2013-11-16
    相关资源
    最近更新 更多