首页 文章

如何访问没有在C#中创建的对象的类方法? [重复]

提问于
浏览
-3

这个问题在这里已有答案:

我正在使用Windows窗体应用程序开发C#游戏,我有一个名为“Game”的Form包含这样的东西(它只是完整代码的一部分):

public Game()
{
    InitializeComponent();
}
public void Button1_Click(object sender, EventArgs e)
{
    Player p1 = new Player(textBox1.Text);
    textBox1.Clear();
    button1.Visible = false;
    textBox1.Visible = false;
}
private void KeyIsDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Up && !p1.jumping)
    {
        p1.jumping= true;
    }
}

这是另一个名为“Player.cs”的类文件的一部分(当然具有相同的命名空间):

public class Player
{
    public string name;
    public int score;
    public bool jumping = false;

    public Player(string name)
    {
        this.name = name;
    }
}

唯一的问题是我无法通过另一种方法(在本例中为“KeyIsDown”)访问对象“p1”(通过单击Button1创建),因为“p1”不存在 . 我怎么解决这个问题?谢谢你的任何建议:)

1 回答

  • 0

    这是因为您创建的变量不是全局变量 . 在函数Button1_Click中你唯一必须做的就是初始化变量,如:

    p1 =新玩家(...);

    但是在函数之外和Game类中,你必须生成一个名为的变量:

    玩家p1;

    在按下按钮之前,必须保留它而不进行初始化 . 祝好运 .

相关问题