我试图用Allegro 5在C中创建一张纸牌纸牌。
void deck_printout(deck*d)
{
int i;
al_clear_to_color(stdcolor);
for(i=0;i<40;i++){
al_draw_scaled_bitmap(d->cards[i].img,
d->cards[i].xpos,
d->cards[i].ypos,
SWID,
SHEI,
d->cards[i].xpos,
d->cards[i].ypos,
DWID, DHEI, 0);
//printf("%f %f\n",d->cards[i].xpos,d->cards[i].ypos);
//al_draw_scaled_bitmap(d->cards[i].img,0,0,SWID,SHEI,0,0,DWID,DHEI,0);
//al_draw_bitmap(d->cards[i].img,d->cards[i].xpos,d->cards[i].ypos,0);
}
}
此功能将所有卡片都拉到显示屏上。为每张卡正确设置了xpos和ypos,SWID和SHEI为225x315,DWID和DHEI均为80x112。
printf()
告诉我卡的位置没问题,al_draw_bitmap告诉我这个问题可能是由缩放引起的。
这是它的样子: