繁体   English   中英

如何使用 c# 在 visual studio 中使用循环使 object 上下左右移动

[英]how to make an object move up, down, left and right using a loop in visual studio using c#

我可以使用 for 循环使图片框中的图片向右和向下移动,这就是我的代码的样子。

private void xAnimeTimer_Tick(object sender, EventArgs e)
    {
        int count;


        this.xAnimeTimer.Stop();



        //   start point   end point   speed
        for (count = 0; count <= 1350; count+=2)
        {
            this.xAnimePictureBox.Left = count;


        }

        for (count = 0; count <= 810; count += 2)
        {
            this.xAnimePictureBox.Top = count;


        }

我不知道如何让图片上下移动,我只能让它左右移动。

你的 this.xAnimePictureBox 已经放在中间了吗? 如果是这样,否定你的计数会给你镜像方向(右下左上)。

如果不是,则将您的 this.xAnimePictureBox 移至中心,并否定您的.Top 和.Left。

通过中心,我假设你的1350是宽度,810是高度? 然后中心将是 1350/2、810/2,并且为了将图片框的中心与 canvas(或任何持有图片框的东西)的中心配对,Left = 1350/2 - (pictureBox.Width/2),顶部 = 810/2 -(pictureBox.Height/2)。

反转你所拥有的:

   this.xAnimeTimer.Stop();



    //   start point   end point   speed
    for (count = 1350; count >= 0; count-=2)
    {
        this.xAnimePictureBox.Left = count;


    }

    for (count = 810; count >= 0; count -= 2)
    {
        this.xAnimePictureBox.Top = count;


    }

屏幕图形的原点 (0, 0) 是绘图区域的左上角。 因此,较小的 Top 值会将项目向上移动到屏幕上方,直到达到 0,然后该项目将移出屏幕顶部。 另一方面,较小的 Left 值会将项目向左移动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM