如何加载夹紧精灵的精灵表,不包括背景
本文关键字:精灵 背景 不包括 何加载 加载 | 更新日期: 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》中读到的