gpt4 book ai didi

c++ - 快板 5 : Handling small sprite dimension in big resolution display

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

我是游戏编程新手。这里我有一些 Sprite ,比如 Sprite 表中的马里奥 Sprite 。每个 Sprite 只有 32 x 32 像素。一个 Sprite 包含一个 Action ,马里奥的全身。不幸的是,我必须至少使用 800 x 640 显示器。正如您可能猜到的那样,马里奥在展示中变得如此渺小。到目前为止,我只是在 GIMP2 中缩放 spritesheet,这样马里奥在屏幕上看起来就不像 Ant 了。有办法处理吗?也许快板有一些我不知道的东西。我已经在文档中搜索过了。

最佳答案

听起来您想要一种在 allegro 中缩放图像的方法。有两种实现方式:

  1. 使用al_draw_tinted_scaled_rotated_bitmap_region .将您的比例因子(例如 2.0)作为 xscaleyscale 参数传递。

void al_draw_tinted_scaled_rotated_bitmap_region(ALLEGRO_BITMAP *bitmap,
0, 0, 32, 32, // draw the first 32x32 sprite in the sheet
al_map_rgb(255, 255, 255), // don't tint the sprite
16, 16, // the origin is 16, 16, half the 32x32 size
200, 200, // draw at the point 200, 200 on the display
2.0, 2.0, // scale by 2 in the x and y directions
0, 0); // don't apply any angle or flags
  1. 使用 transform缩放图像。

ALLEGRO_TRANSFORM trans;

al_identity_transform(&trans);
al_scale_transform(&trans, 2, 2); // scale by a factor of 2
al_use_transform(&trans);

// draw here

请注意,在任何情况下(包括缩放 spritesheet 的原始解决方案),放大图像都会导致它看起来更加像素化。

关于c++ - 快板 5 : Handling small sprite dimension in big resolution display,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41055171/

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