如何加载夹紧精灵的精灵表,不包括背景

本文关键字:精灵 背景 不包括 何加载 加载 | 更新日期: 2023-09-27 18:06:06

我在谷歌上搜索了很多麻烦,因为我真的不知道它的术语。这是一个普遍的问题。我想迭代精灵表,但我希望它忽略精灵周围的透明背景,而不是将其作为显示内容的一部分。

例如,如果我有几帧,我想遍历每一帧并加载该图像。然后,在那一帧中,我想通过在图像本身周围画一个矩形来缩小范围,而不是额外的"背景"。这可能是通过找到精灵的非透明像素的角落来完成的(不确定这部分是如何工作的)。

这有意义吗?还是那句话,我不确定该用哪个词…如果不清楚,请告诉我。

这里的目标是加载与其他帧完全成方形的精灵,这样它们就不会无意识地摇摆或反弹。

谢谢! !

如何加载夹紧精灵的精灵表,不包括背景

我也在制作我的第一款游戏,我在精灵周围的透明区域遇到了类似的问题,在这种情况下是碰撞。

我所做的是设置它,使每个精灵都有一个位置,高度,宽度和填充的X和y

Vector2 position = new Vector2(100,100);
int frameHeight = 48;
int frameWidth = 48;
int paddingX = 4;
int paddingY = 3;
有了这些信息,你就可以得到你需要的东西,例如,对于代表精灵周围的边界框的矩形,我可以使用:
boundingRectangle = new Rectangle(
  (int)position.X + paddingX, 
  (int)position.Y + paddingY, 
  frameWidth - (paddingX * 2), 
  frameHeight - (paddingY * 2));

我是在Kurt Jaegers的《XNA 4.0 Game Development by Example》中读到的