2011-01-31 39 views
0

我刚开始做一些XNA的东西。在我的屏幕上(例如标题屏幕和高分屏幕),我发现自己越来越多的修改矩形,然后绘制一些东西,然后修改另一个矩形,然后绘制一些东西......重复多次。你知道XNA的表格布局模块吗?

我想要的是一张桌子。我想指定:行和列的数量,间距和填充,单元的大小(像素或百分比)以及要合并的单元格。例如

var t = new TableLayout(viewPortBounds); 
t.Columns=3; 
t.Rows=5; 
t.Padding=5; 
t.Spacing=25; 
t.SetRowSize(0, new Percent(5)); 
t.SetRowSize(1, 100); 

This'd用填充和间距创建一个3x5表。 然后我就可以得到这样的矩形:

Rectangle r = t.Cell(1,0) 
drawText(@"the title", r); 
drawText(@"something else", t.Cell(0,1)) ; 

我也会喜欢合并细胞的能力,例如鉴于上面的第一行,我想合并所有的单元格,然后当我要求单元格(0,0)时,我会得到一个表格的整个宽度(减去间距)的矩形。

这样的事情是否存在?

回答

0

我已经找到了一些遵循WPF/Silverlight范例的替代方案。

Red Badger's XPF and Valentin's XnamlComponent。两者看起来非常好。红獾尚未完成许可证,但向我们保证,它可以免费用于非商业或开源项目。瓦伦丁还没有提到许可证,并正在寻找测试人员。

1

您是否想过使用像Neoforce这样的GUI库?

+0

谢谢吉姆。我看了一下Neoforce。虽然看起来不错,但它更侧重于控制而不是布局(我有自己的'控件',我只需要一些东西来帮助安排它们)。 – 2011-02-01 07:31:53