【发布时间】:2013-03-28 01:13:46
【问题描述】:
我在谷歌上搜索时遇到了很多麻烦,因为我真的不知道它的术语。不过,这必须是一个普遍的问题。我想遍历一个精灵表,但我希望它忽略精灵周围的透明背景,而不是将其作为显示内容的一部分。
例如,如果我有几帧,我想遍历每一帧并加载该图像。然后,在那个框架中,我想通过在图像本身周围绘制一个矩形来缩小它,而不是额外的“背景”。这可能会通过找到不透明像素的精灵角来完成(不确定这部分是如何工作的)。
这有意义吗?再说一次,不确定在这里使用哪些词...如果不清楚,请告诉我。
这里的目标是加载与其他帧完全一致的精灵,这样它们就不会意外摆动或反弹。
非常感谢!!
【问题讨论】:
-
对于它的价值,我通常发现最好在游戏中使用精灵表之前进行这种“调整”。这样,游戏代码就保持尽可能简单,并且不需要通过“修复”来延迟用户。至于修复本身,我的经验是自动查找给定精灵的来源很少成功。例如行走的角色可能会将他的手臂伸到其中一个精灵上,这意味着精灵的“原点”会错误地离一侧太远。
-
很高兴知道。谢谢。我以前从未做过动画,但我的假设是,如果我有一个精灵表,其中的帧彼此不是“方形”的,那么它在动画时看起来就不正确。就像你说的那样,起源太远了。我认为程序化修复会更容易......也许不是:)
-
@PlanetLotus 一个 spriteset 应该 a) 是正交的(所有 sprite 都已经在正确的位置)或 b) 具有某种为您定义位置的描述记录。众所周知,对帧和偏移进行像素级检测是不可靠的。
-
有趣。我对此很陌生,所以我非常感谢你的洞察力。我想这是我让精灵正确的问题......主要问题是这个精灵“表”不是为编程而设计的(它们的间距不相等)所以我不得不重做它,现在我不是确定我是否在每一帧中都得到了正确的起源。