C# 如何在XNA图像中间种植空白行?
假设我有一个C# 如何在XNA图像中间种植空白行?,c#,xna,sprite,crop,texture2d,C#,Xna,Sprite,Crop,Texture2d,假设我有一个Texture2D,其中包含角色动画的单个片段。那条带子的底线有一个特定颜色的点,一个颜色,它不在条带的任何地方使用,在每个雪碧的开头和结尾(意思是,在每一个雪碧之前和之后的空白行的底部有一个点)。 我想裁剪每个精灵之间的所有空白行,从而使一个精灵的结束重叠/强>另一个的开始(意思是,得到一个精灵的结束点作为下一个起始点)。 有没有办法用XNA自动实现这一点 基本上,从这里开始:(每个精灵和每个精灵之间都有一个空格。) 为此:(每个精灵的起点与前一个精灵的终点重叠。) (红点应该在每
Texture2D
,其中包含角色动画的单个片段。那条带子的底线有一个特定颜色的点,一个颜色,它不在条带的任何地方使用,在每个雪碧的开头和结尾(意思是,在每一个雪碧之前和之后的空白行的底部有一个点)。
我想裁剪每个精灵之间的所有空白行,从而使一个精灵的结束<强>重叠/强>另一个的开始(意思是,得到一个精灵的结束点作为下一个起始点)。
有没有办法用XNA自动实现这一点
基本上,从这里开始:(每个精灵和每个精灵之间都有一个空格。)
为此:(每个精灵的起点与前一个精灵的终点重叠。)
(红点应该在每一对蓝色点之间,但你明白了。)< /P> 其他信息:
A.有一个int[]
包含每个条带(行)开始和结束的X值,还有一个List[]
包含每个条带(行,每个条带)每个精灵开始和结束的X值
B.在每个精灵的开始和结束之间的中间有一个点,它不出现在空白行中。
C.每个条带需要导出为.png文件(使用包含每个条带的Texture2D数组)。到目前为止,我可以很好地导出框架(裁剪),但如果有任何方法将它们装订回一条带,那就太好了提前谢谢,请原谅复杂的措辞…我不知道为什么您需要精灵之间的这些点,但是如果您知道每个精灵的宽度,那么您只需要在精灵表上按顺序移动一个矩形(我认为您已经有了),加上精灵宽度减去该点的宽度。
按照您的要求,这样您应该将一个精灵的结束点作为下一个精灵的开始点。如果您可以发布您的精灵表,这将更容易理解。添加-抱歉图像的大小非常小。这是一个想法,但是如何对
纹理2D
执行此操作?此外,点是为了帮助动画更平滑地变化,而不是寻找每个精灵开始和结束的地方。我不认为你可以在你的纹理中实际裁剪空白行,但是你应该管理绘画来完成我上面写的,以获得你的意思。我看没有别的办法了。你的目的是画那张精灵纸,不是吗?