我是信息计算学院研究生水平的搜索者,我的毕业项目涉及多列车运动的模拟,我试图在指定的(x,y)上停止点,然后我想要旋转其标题并改变其标题的(角度)。 我在youtube频道上观看了所有这些视频: "基本C#游戏编程表格中的移动对象"在这里:Illustrating Video 这说明了如何使用.NET中的KeyDown事件来控制点的移动,但我想在不同的时间输入不同的位置(它将存储在一个变量中并通过文本框或其他任何东西输入),所以如果你愿意的话,引导并告诉我如何在到达指定的(x,y)时旋转点的航向,以及如何在铁路网络中的站点(另一个(x,y))上停止它。 如果这与"网格网络相关" ??
我发现system.Drawing有一个函数,可以重载,例如: e.Graphics.RotateTransform(30.0F); ,但我发现它不仅可以旋转变换,还可以改变它的位置,你可以自己检查。
我也尝试过这种方法:
int x_ex = 60, y_ex = 60;
private void increase_distance(PaintEventArgs e)
{
// draw a rectangl
e.Graphics.FillRectangle(Brushes.Blue, x_ex, y_ex, 20, 20);
// increase or decrease it's movement
x_ex = x_ex + (int)2.5;
y_ex = y_ex + (int)2.5;
// try to stop and rotate it
if (x_ex == 90)
{
//x_ex = (int)e.Graphics.Transform.RotateAt(30.0F, search on google
// (RotateTransform method) not only rotate the object but also change the location and its coordinates
e.Graphics.RotateTransform(30.0F);
// you can notice that its color will be changed for a fraction of moment when (x_ex=90)
e.Graphics.FillRectangle(Brushes.Green, 90, 90, 20, 20);
//x_ex = 0;
//y_ex = 0;
如果你愿意,请帮助我,你的帮助&我们将不胜感激。