Allegro 5在错误的时间绘图

时间:2014-03-15 23:58:18

标签: c++ rendering buffer transformation allegro

我在使用c ++绘制Allgero 5时遇到问题。我绘制位图然后使用转换然后使用转换并翻转缓冲区但是当我向下转动FPS上限时,我看到它首先绘制应用转换的所有内容,而不是在一帧中完成所有操作。

这是图纸代码:

update(timePast, keyState, &X, &Y, &PDX, &PDY, &ChangeInX, &ChangeInY, &radian);


al_draw_scaled_bitmap(background, 0, 0, 300, 225, -ScreenWidth / 2, -ScreenHeight / 2, ScreenWidth, ScreenHeight, NULL);     
al_draw_rotated_bitmap(player, 18, 23, PDX, PDY, radian, NULL);


al_identity_transform(&camera);    
al_translate_transform(&camera, -PDX, -PDY);
al_rotate_transform(&camera, -radian);
al_translate_transform(&camera, ScreenWidth / 2, ScreenHeight * 0.7);



al_use_transform(&camera);  
al_flip_display();  
al_clear_to_color(al_map_rgb(0,0,0));

我无法弄明白,任何帮助都会非常感谢。

1 个答案:

答案 0 :(得分:1)

al_use_transform()影响在之后调用的绘图操作。

al_flip_display()不是绘图操作,它只是使后备缓冲区可见。