如何使用c#在visual studio中使用循环使对象向上,向下,向左和向右移动

时间:2011-05-31 02:23:03

标签: c# animation sprite

我可以使用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;


        }

我无法弄清楚如何让图片向上和向左移动,我只能让它向上和向下移动。

3 个答案:

答案 0 :(得分:0)

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

如果不是,则将你的.xAnimePictureBox移动到中心,并取消你的.Top和.Left。

通过中心,我假设您的1350是宽度,810是高度? 那么中心将是1350 / 2,810 / 2 并且将图片框的中心与画布的中心(或任何拿着图片框的内容)配对将是Left = 1350/2 - (pictureBox.Width / 2),Top = 810/2 - (pictureBox.Height / 2 )。

答案 1 :(得分:0)

反转你所拥有的:

   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;


    }

答案 2 :(得分:0)

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