![]() |
1
3
有两种选择: 1-缩放所有内容,使其在屏幕/窗口的某个百分比上调整大小。例如,如果您希望对象是屏幕的1/4,那么它的宽度是screen width/4,高度是screen height/4。这种技术的问题在于屏幕的纵横比可能会使物体变得又短又胖,或者又高又宽。通常通过确定一个维度,然后使用屏幕的纵横比确定另一个维度来解决这一问题。即,宽度=高度*电气。 2-使所有的物理维度都相同。例如,您可能希望一个对象精确显示为1“x 1”。您可以使用屏幕的分辨率(每英寸点数)来相应地缩放图形。问题在于,虽然它在“普通”屏幕上很好地工作,但在大屏幕上图像可能太小,在小屏幕上图像可能太大。 大多数游戏使用技术1(对纵横比进行补偿)。AR并不总是一个大问题,但现在宽屏显示器如此受欢迎,它几乎是必需的。 而且,就像Richard说的,Winforms不适合游戏(扫雷除外!)但也许可以自学。 |
![]() |
2
0
不是很有用的答案,但不要使用WinForms!! 如果你想要一个好的游戏平台,使用 DirectX 或 XNA Game Studio . |
![]() |
3
0
您可以使用gdi+和转换来实现这一点。有关使用矩阵进行转换的详细信息,请参见 this article on CodeProject . 也就是说,使用WPF的绘图选项要简单得多。除了保留模式模型(在做简单的图形时要简单得多(例如:移动对象而不是不断地重新绘制),它还有其他一些好处。主要的好处是,WPF中的所有操作都是使用浮点值完成的,并且是完全可扩展的,没有额外的实际工作。有关详细信息,请参阅 Shapes and Basic Drawing with WPF 包括形状的绘制和转换。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 8 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 8 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 8 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 8 月前 |