从类中返回一个值并在主Form1.cs中使用它 - C#

时间:2014-11-26 14:49:13

标签: c# winforms visual-studio-2013 labels

是否可以创建一个名为score的变量并在类中全局使用它?

例如:例如在Form1.cs中创建它并仍然可以在ball.cs中使用它?

我在Breakout型游戏中在砖块和球之间进行了碰撞检测。

private void timer1_Tick(object sender, EventArgs e)
{
    ball.moveBall();
    ball.collideWall();
    ball.hitPaddle(paddle.PaddleRec);
    ball.hitBrick(brick.BrickRec);
    this.Invalidate();
}

我希望使用以下代码行为每次球击中砖时添加分数。 lblScore.Text = Convert.ToString(score);

因此,基本上当球击中砖块时,分数将显示在名为lblScore的标签中。

这是我在我的球类(在名为ball.cs的文件中)中的内容

public void hitBrick(Rectangle[,] brickRec)
{
    if (ballRec.IntersectsWith(brickRec[0,0]))
    {
        ySpeed *= -1;
        xSpeed *= -1;
        brickRec[0, 0] = new Rectangle(0, 0, 0, 0);
        score += 10;   
     }
     if (ballRec.IntersectsWith(brickRec[1,0]))
     {
        ySpeed *= -1;
        xSpeed *= -1;
        brickRec[1, 0] = new Rectangle(0, 0, 0, 0);
        score += 20;
     }
     if (ballRec.IntersectsWith(brickRec[2,0]))
     {
        ySpeed *= -1;
        xSpeed *= -1;
        brickRec[2, 0] = new Rectangle(0, 0, 0, 0);
        score += 30;
     }
}

1 个答案:

答案 0 :(得分:1)

在主要表单score中将static声明为Form1.cs变量;它将具有像

这样的全球访问点
public static int score = 0;