私は、0.5秒ごとに画面上をランダムに動くモルを撮影する必要のあるゲームを作成しました。C#マウスの移動イベント、時間ループが停止する
マウスを停止せずに画面上に移動すると、マウスが動くのを止めるまで、タイムループがフリーズしているように見えます。
画面に更新するマウスの移動イベント、 と0.5秒ごとにフォームを更新するタイムループイベントがあります。どのように私はお互いに干渉することなく、両方のイベントを実行することができますか?
私は、0.5秒ごとに画面上をランダムに動くモルを撮影する必要のあるゲームを作成しました。C#マウスの移動イベント、時間ループが停止する
マウスを停止せずに画面上に移動すると、マウスが動くのを止めるまで、タイムループがフリーズしているように見えます。
画面に更新するマウスの移動イベント、 と0.5秒ごとにフォームを更新するタイムループイベントがあります。どのように私はお互いに干渉することなく、両方のイベントを実行することができますか?
私はあなたを正しく理解することができませんが、あなたが与えた手がかりによって私はあなたが変更しているuielementがBegininvokeメソッドを使用しなければならないので、
public delegate void InvokeDelegate();
private void Invoke_Click(object sender, EventArgs e)
{
mole.BeginInvoke(new InvokeDelegate(InvokeMethod));
}
public void InvokeMethod()
{
// change your mole position here
}
Backgroundworkerを使用することができます。 BackgroundworkerのDoWorkイベントを登録します。そしてあなたはあなたのタイマーを数えるか、そのイベントの中を見ることができます。
コードを共有することはできますか? – Prajwal