首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将XNA Texture2D旋转为另一个Texture2D

将XNA Texture2D旋转为另一个Texture2D
EN

Stack Overflow用户
提问于 2013-01-29 12:54:07
回答 2查看 152关注 0票数 0

我知道Texture2D可以在Draw()过程中旋转,但我要求的有点不同。在绘制之前,我需要旋转的Texture2D,并将其存储到另一个Texture2D中以便进一步操作。大致是这样的:

代码语言:javascript
复制
   Texture2D rotated = getRotatedTexure(originalTexture);

然而,我甚至不知道从哪里开始。我是否要将纹理转换为图像,然后在那里进行工作?任何建议都将不胜感激。

这样做的原因既长又复杂,但从本质上讲,我是在尝试构建一个旋转动画引擎(又称“骨骼动画”、“骨骼动画”或“裁剪动画”)。

EN

回答 2

Stack Overflow用户

发布于 2013-01-29 13:06:38

试试这个:XNA Rotate Texture 2D

票数 2
EN

Stack Overflow用户

发布于 2013-12-27 18:06:48

您可以做的事情是定义一个RenderTarget2D并在其中绘制旋转纹理。示例:

代码语言:javascript
复制
RenderTarget2D rotated_texture = new RenderTarget2D(GraphicsDevice, texture_width, texture_height);

GraphicsDevice.SetRenderTarget(rotated_texture);

spriteBatch.Begin();
//Draw the texture with rotation
spriteBatch.End();

GraphicsDevice.SetRenderTarget(null); //Reset to screen drawing

如果你想在屏幕上绘制rotated texture,你可以这样做:

代码语言:javascript
复制
//GraphicsDevice.SetRenderTarget(null); //Considering this done

spriteBatch.Begin();
spriteBatch.Draw(rotated_texture, vector_position, Color.White);
spriteBatch.End();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14575883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档