簡體   English   中英

C ++ Allegro al_draw_textf()

[英]C++ Allegro al_draw_textf ()

我的問題與Allegro 5 C ++有關。 這是我的代碼的某些部分,必須在屏幕上繪制文本。 我已經完成了所有聲明,並且錯誤肯定在代碼的這一部分。

因此,首先我聲明了一個全局變量ALLEGRO_FONT * font; 我在主要的al_init_font_addon();調用了此函數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函數中調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM