8
A
回答
11
XNA通常不会有你可以在上面画画的想法。相反,您可以在您最喜欢的绘画程序中创建一个圆圈并将其渲染为精灵,或者在3D网格中创建一系列顶点以近似圆并渲染它。
3
开箱即用,在XNA中没有对此的支持。我假设你来自一些GDI背景,只想看看屏幕上移动的东西。然而在真实的游戏中,这很少需要。
有一些有用的信息在这里:
http://forums.xna.com/forums/t/7414.aspx
我给你的建议是刚刚火起来漆什么的,自己创建基本的形状和使用内容管道。
2
另一种选择(如果你想使用更复杂的渐变画笔或其他东西)是绘制一个与画面对齐的四边形,并使用像素着色器。
8
你也可以检查出杰夫·韦伯使用在先知示例框架:
http://www.codeplex.com/FarseerPhysics
的演示有一个动态纹理生成器,它可以让他做圆形和矩形(该样本,然后为一体的可视化使用物理模拟)。你可以只是重新使用该:-)
3
似乎在这里使用像素着色器的解决方案 - http://www.xnainfo.com/resources.php?view=Code%20snippets
5
有同样的问题,正如其他人已经建议你需要画一个正方形或长方形对它的圆形纹理。下面是我创建圆形纹理运行时的方法。不是最有效或最花哨的方法,但它有效。
Texture2D createCircleText(int radius)
{
Texture2D texture = new Texture2D(GraphicsDevice, radius, radius);
Color[] colorData = new Color[radius*radius];
float diam = radius/2f;
float diamsq = diam * diam;
for (int x = 0; x < radius; x++)
{
for (int y = 0; y < radius; y++)
{
int index = x * radius + y;
Vector2 pos = new Vector2(x - diam, y - diam);
if (pos.LengthSquared() <= diamsq)
{
colorData[index] = Color.White;
}
else
{
colorData[index] = Color.Transparent;
}
}
}
texture.SetData(colorData);
return texture;
}
相关问题
- 1. 绘制一个简单的圆圈uiimage
- 2. 在XNA中使用模具在圆圈中绘制纹理
- 3. 在C++中绘制圆圈
- 4. 在android中绘制圆圈
- 5. 在MATLAB中绘制圆圈
- 6. 绘制圆圈vhdl
- 7. 在Winform外绘制圆圈
- 8. 绘制简单的圆形
- 9. iOS - 使用CAShapeLayer绘制圆圈的简单方法
- 10. 用Java swing绘制一个简单的圆圈不起作用
- 11. 在android中绘制圆圈的XML
- 12. 绘制圆圈的Mapkit
- 13. 如何在圆圈内绘制圆形?
- 14. 动画 - 在iOS中绘制圆圈 - 未完成圆圈动画
- 15. 如何在android中绘制圆圈?
- 16. 在CCRenderTexture中绘制抗锯齿圆圈
- 17. 如何在Unity3D中绘制圆圈?
- 18. 绘制圆圈并存储在UIImage中
- 19. 在画布中心绘制圆圈
- 20. 如何在gnuplot中绘制圆圈
- 21. 在桌面中间绘制圆圈
- 22. 在iPhone中帮助绘制圆圈
- 23. 在directx中绘制一个圆圈9
- 24. 在openGL中用Android绘制圆圈
- 25. 如何在cocos2dx中绘制圆圈
- 26. 用php绘制圆圈imagemagick
- 27. 用圆圈绘制形状
- 28. 绘制移动圆圈
- 29. Swing无法绘制圆圈
- 30. 绘制多个圆圈
这看起来好像会奏效。谢谢! – 2010-03-25 21:20:04