我有几个彼此嵌套的分割面板。问题是,我正在中心面板内渲染一个8x8平铺游戏。基本上,面板的高度和宽度需要是8的奇数倍,所以我可以很容易地找到中心贴图。
我正在使用VB.net,所以所有.net解决方案都可以接受:)
编辑抱歉,这有点令人困惑......
我的意思是,我需要宽度和高度可以被8整除。数字8乘以应该是奇数:
再次编辑以下这些数字并未指代尺寸。它们指的是两个数相乘。我已将它们更改为*以显示此信息。以下这些数字适用于高度和宽度。一个数字应该是奇数,另一个数字应该是8. 8 * x
5 * 8 - 好
6 * 8 - 不好
答案 0 :(得分:1)
您可以通过对数字执行mod 2来检查某些事物是否奇怪。所以就这样做
if number mod 2 == 1:
code for board
答案 1 :(得分:0)
你声明你需要将高度和宽度都分为8,但在你的例子中,只有高度可以被它整除。无论如何,这是一种方法:
将其放入resize事件处理程序:
Dim Height as Integer = SplitControl1.Panel1.Width
If Height mod 8 <> 0 then
Height -= (Height mod 8)
End If
Height += 9 //This ensures that the Height is not 0 and still is divisible by 8 + 1 (to be odd)
和
Dim Width as Integer = SplitControl1.Panel1.Width
If Width mod 8 <> 0 then
Width -= (Width mod 8)
End If
Width += 9 //This ensures that the Width is not 0 and still is divisible by 8 + 1 (to be odd)
最后
SplitControl1.Panel1.Width = Width
SplitControl1.Panel1.Height = Height