Я создаю приложение WPF для имитации трафика. Я хочу, чтобы Car
s имела задержку реакции на 1 секунду для изменения их ускорения без остановки всего приложения. Для этого я хочу получить переменную elapsed
из моего класса Car
. Переменная переменной elapsed
хранит, сколько времени прошло.Доступ к переменной MainWindow из класса
Код в MainWindow
:
namespace TrafficTester
{
public partial class MainWindow : Window
{
Timer timer = new Timer();
public MainWindow()
{
InitializeComponent();
//create the timer
timer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
timer.Interval = timerInterval;
timer.Enabled = true;
//...
void OnTimedEvent(object source, ElapsedEventArgs e)
{
timer.Enabled = false; //stop timer whilst updating, so updating won't be called again before it's finished
update(); //
timer.Enabled = true;
elapsed += timerInterval;
}
}
}
Код в классе Car
:
namespace TrafficTester
{
public class Car
{
//...
public void changeAccel(double val)
{
int time = MainWindow.elapsed;
int stop = MainWindow.elapsed + reactDelay;
while (time < stop)
{
time = MainWindow.elapsed;
}
accel = val;
}
}
}
accel
является текущим ускорение и val
это новое ускорение. MainWindow.elapsed
должен вызывать переменную elapsed
от MainWindow, но это не так. Как я могу назвать это из класса Car
?
В чем вопрос? –
К сожалению, я, наверное, должен был сказать это немного более четко. Я не могу получить прошедшую переменную в MainWindow из класса Car. Я просто отредактировал этот вопрос. – Czh
Как создать новый экземпляр 'Car' в' MainWindow'? – Sakura