キャンバスの翻訳(移動)を試みましたが、タイマーに問題があります。WPF:キャンバスを変換(移動)するベスト(信頼できる)方法とモニタすべてのステップ
私は2種類の方法を試みた:
第一の方法は、BeginAnimation
機能していました、そしてDispatcherTimer
ティックと第二、彼らは両方とも非常に信頼性がないです。
私は翻訳のすべてのステップを監視する必要があります。最初の方法(BeginAnimation
)を試して、Changed
イベントで衝突検出ロジックを行い、2番目の方法(DispatcherTimer
)で、タイマのTick
イベントで衝突検出ロジックを実行しています。
問題は両方とも非常に信頼性が低いということです。私の衝突検出ロジックでは、TranslateTransform
のプロパティY
のプロパティが< = 0(技術的には、すべてのステップを監視している場合は、毎回0で停止する必要があります)のキャンバスが変換を停止するはずですが、試しましたが、それが終わるとはに変わります。たとえば、は時々0に、時には-1、-2、-3で、場合によっては-4で停止します。
矛盾は何ですか?なぜそれはそれが仮定されるような方法のすべてのステップを監視していないのですか?
このキャンバスをアニメーション化して、実際にすべてのステップを監視するにはどうすればよいですか?私はすべてのステップを意味しています...移動するすべてのピクセル