Vì vậy, tôi đang thực hiện trò chơi phá gạch đơn giản trong C#/wpf. Tôi đang chạy vào một vấn đề bằng cách sử dụng bộ đếm thời gian, tôi cảm thấy như nó có lẽ là một sửa chữa đơn giản nhưng đây là những gì đang xảy ra. Bất cứ khi nào t_Elapsed được bắn nó cố gắng để gọi Update() nhưng khi nó không giống như OMG Im của nó không đúng chủ đề vì vậy tôi không thể làm điều đó thưa ông. Làm cách nào để gọi phương thức từ Trò chơi từ chuỗi thích hợp? (Và vâng tôi biết mã là xấu xí và có con số ma thuật nhưng tôi chỉ kinda chugged nó ra mà không tiêu tốn rất nhiều công sức vào. Và vâng tôi có zero trò chơi kinh nghiệm lập trình)Chuỗi cuộc gọi không thể truy cập đối tượng này vì một chủ đề khác sở hữu nó
public partial class Game : Grid
{
public bool running;
public Paddle p;
public Ball b;
Timer t;
public Game()
{
Width = 500;
Height = 400;
t = new Timer(20);
p = new Paddle();
b = new Ball();
for (int i = 15; i < 300; i += 15)
{
for (int j = 15; j < 455; j += 30)
{
Brick br = new Brick();
br.Margin = new Thickness(j, i, j + 30, i + 15);
Children.Add(br);
}
}
Children.Add(p);
Children.Add(b);
p.Focus();
t.AutoReset = true;
t.Start();
t.Elapsed += new ElapsedEventHandler(t_Elapsed);
}
void t_Elapsed(object sender, ElapsedEventArgs e)
{
if (running)
{
Update();
}
}
void Update()
{
b.Update(); //Error here when Update is called from t_Elapsed event
}
void Begin()
{
running = true;
b.Initiate();
}
}
'OMG Im không nằm trong chủ đề đúng vì vậy tôi không thể làm sir.' đó <3 – Laserbeak43