Это мой первый вопрос на этом форуме. Я французский студент, извините за мой английский. В моем коде я хочу извлечь значение из Dispatcher.BeginInvoke.
. Вот часть моего кода, которая является проблематичной.Как получить значение Dispatcher.BeginInvoke в WPF/C#
public partial class Jouer : Window
{
// private Timer timer_creer_obstacle;
private Timer timer_personnage_chute;
private Timer timer_obstacles_avance;
private Personnage perso;
private Decor decor;
public Jouer()
{
InitializeComponent();
perso = new Personnage("canard-de-bain.png", World);
decor = new Decor(World);
// Timer qui gère l'avancé des obstacles
timer_obstacles_avance = new Timer();
timer_obstacles_avance.Enabled = true;
timer_obstacles_avance.Interval = 60;
timer_obstacles_avance.Elapsed += timer_obstacles_avance_event;
timer_obstacles_avance.AutoReset = true;
// Timer qui gère la chute du personnage
timer_personnage_chute = new Timer();
timer_personnage_chute.Enabled = true;
timer_personnage_chute.Interval = 60;
timer_personnage_chute.Elapsed += timer_personnage_chute_event;
timer_personnage_chute.AutoReset = true;
}
public void timer_personnage_chute_event(object sender, ElapsedEventArgs e)
{
perso.Dispatcher.BeginInvoke(// Dispatcher pour utiliser le multithearding
DispatcherPriority.Normal,
new Action(() =>
{
perso.Chuter();
perso.WorlFarmeCollision();
}));
А вот код WorldFarmeCollision
, что вернуть мне логическое значение.
public bool WorlFarmeCollision()
{
if (this.Y >= 350 || this.Y <= 0)
{
App.Current.Shutdown();
return true;
}
else
return false;
}
Я хочу perso.WordFarmeCollision
возвращать значение годного к употреблению в моем Jouer
классе.
Спасибо за ваши ответы.
Спасибо за очень полезный и быстрый ответ, я использовал свой slolution и он отлично работает! Еще раз спасибо –