使用XNA SpriteBatch进行倾斜效果
发布时间:2020-12-14 03:53:38 所属栏目:Windows 来源:网络整理
导读:Windows Phone对按钮有很好的倾斜效果,如下图所示: 是否可以使用SpriteBatch在XNA中重新实现此行为?我可以检测触摸位置并计算矩形角应该是的点,但我不知道如何使用这种失真渲染图像. 解决方法 Matrix projection = Matrix.CreateOrthographicOffCenter(0,v
Windows Phone对按钮有很好的倾斜效果,如下图所示:
是否可以使用SpriteBatch在XNA中重新实现此行为?我可以检测触摸位置并计算矩形角应该是的点,但我不知道如何使用这种失真渲染图像. 解决方法Matrix projection = Matrix.CreateOrthographicOffCenter(0,viewport.Width,viewport.Height,1); Matrix halfPixelOffset = Matrix.CreateTranslation(-0.5f,-0.5f,0); basicEffect.World = Matrix.Identity; basicEffect.View = Matrix.Identity; basicEffect.Projection = halfPixelOffset * projection; basicEffect.TextureEnabled = true; basicEffect.VertexColorEnabled = true; spriteBatch.Begin(0,null,basicEffect); 您可以将BasicEffect传递给SpriteBatch.Begin方法.这允许您使用带有spritebatch的自定义着色器,更有趣的是在您的情况下允许您控制相机并转换支持SpriteBatch的四边形.以上是默认值,并且应该像标准的SpriteBatch一样,你不能专门改变点,但旋转应该达到你想要的效果. 要更改四边形的3D位置,只需更改basicEffect.World矩阵即可. 例: basicEffect.View = Matrix.Identity * Matrix.CreateRotationY(.002); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- IIS:你如何处理Windows重启?
- 我的Windows应用程序真正使用了多少内存?
- 任何人都可以推荐一个.Net开源替代Windows Workflow?
- uint16_t和unsigned short int之间有什么区别?
- windows – 如何在调试期间查看Qt对象的内容?
- Windows – Node.js 0.5.x的递归目录创建
- windows-phone-7 – 获取Windows Phone 7的当前IP
- windows-server-2008-r2 – 自动创建主题备用名称(SAN)证书
- windows-vista – Vista的独特键盘快捷键
- 如何创建MSI包,它可以安装Windows安装程序本身