gpt4 book ai didi

C++ 快板 al_draw_textf ()

转载 作者:行者123 更新时间:2023-11-28 07:34:11 28 4
gpt4 key购买 nike

我的问题与 Allegro 5 C++ 有关。这是我的代码的某些部分,它们必须在屏幕上绘制文本。我已经完成了所有的声明,错误肯定在这部分代码中。

所以一开始我声明了一个全局变量ALLEGRO_FONT * font;我在 main al_init_font_addon();

中调用了这个函数

这是另一个绘制文本的函数。

    void draw (){
int score=0 ;
while (!GetAsyncKeyState(VK_ESCAPE)){
al_clear_to_color(al_map_rgb( 0 , 0 , 0));
al_init_ttf_addon();
font = al_load_font ("font.ttf" , 24 , NULL);
al_draw_textf(font , al_map_rgb(255 , 0 , 255) , 200 , 200 , ALLEGRO_ALIGN_CENTRE , "SCORE: %d" , score );
al_flip_display();
score +=10;
}
}

问题是这个应用程序在 while 循环的第 507 步崩溃了

最佳答案

您在每个循环中初始化一个新字体,同时在完成后不会取消分配资源。

而是在循环之前仅调用一次 al_init_ttf_addonal_load_font,然后在循环中使用它。记得在完成后释放字体。实际上,我建议您在初始化程序时调用 al_init_ttf_addon,换句话说,在进入事件循环之前在 main 函数中调用。

关于C++ 快板 al_draw_textf (),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17050238/

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