tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
951
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Meldur Meldur ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    143
    Hallo,

    ich programmiere ein Spiel in WPF und muss dazu fließende Bewegungen von grafischen Elementen (z.B. ein Rechteck) manuell steuern. Deshalb kann ich keine DoubleAnimation verwenden. Wenn ich nun z.B. einen DispatcherTimer laufen lasse, der alle 25ms einen Bewegungsschritt ausführt, so ruckelt die Bewegung immer etwas. Verwende ich das CompositionTarget.Rendering-Event, so ist die Bewegung zwar stabil (klar, denn es wird ja immer brav pro Renderschritt animiert und nicht mitunter dazwischen), aber die Geschwindigkeit ist abhängig von der Bildschirmfrequenz. Somit würden die gleichen Bewegungen im Spiel bei 50Hz langsamer laufen, als bei 60Hz.
    Was wäre also der richtige Ansatz, um ruckelfreie Bewegungen mit immer gleicher Geschwindigkeit zu erzeugen?

    Danke,
    Meldur
     

  2. #2
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    Zitat Zitat von Meldur Beitrag anzeigen
    Verwende ich das CompositionTarget.Rendering-Event, so ist die Bewegung zwar stabil (klar, denn es wird ja immer brav pro Renderschritt animiert und nicht mitunter dazwischen), aber die Geschwindigkeit ist abhängig von der Bildschirmfrequenz.
    Du kannst doch in jedem Rendering-Event ausrechnen, wie weit das Rechteck verschoben werden muss, damit die Geschwindigkeit konstant ist. Merke dir einfach die Systemzeit beim letzten Event und berechne die Zeitdifferenz zur aktuellen Zeit. Somit kennst du die vergangene Zeitspanne und weisst wie weit du das Rechteck verschieben musst.
     
    hihi = -h²

Ähnliche Themen

  1. Problem: Zufallszahlen sind konstant
    Von Mr Apfelkuchen im Forum C/C++
    Antworten: 19
    Letzter Beitrag: 14.07.08, 15:39
  2. manuelle Dateiübergabe
    Von Silversurfer4u im Forum PHP
    Antworten: 2
    Letzter Beitrag: 26.06.06, 14:18
  3. FPS konstant halten
    Von Lloyd im Forum Flash Plattform
    Antworten: 6
    Letzter Beitrag: 10.08.05, 19:35
  4. Manuelle Slideshow
    Von xnerdyx im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 06.12.04, 01:53
  5. SystemSpeicher erhöht sich konstant
    Von Julien im Forum Microsoft Windows
    Antworten: 0
    Letzter Beitrag: 08.03.04, 11:35

Stichworte