您还可以查看Jeff Weber在Farseer中使用的示例框架:http:
//www.codeplex.com/FarseerPhysics
演示有一个动态纹理生成器,让他制作圆形和矩形(样本然后用作物理模拟的可视化).你可以重复使用:-)
有同样的问题,正如其他人已经建议你需要绘制一个带有圆形纹理的正方形或矩形.下面是我创建圆形纹理运行时的方法.不是最有效或最奇特的方式,但它的工作原理.
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26849 次 |
| 最近记录: |