Autor Beitrag
_Joe_
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47

Arch Linux/XP
VS2008 Prof.,Codeblocks
BeitragVerfasst: Mi 15.07.09 14:53 
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
     void StartTimer(double offsetX, double offsetY, double offsetZ)
     {
            System.Windows.Threading.DispatcherTimer myDispatcherTimer = new System.Windows.Threading.DispatcherTimer();
            myDispatcherTimer.Interval = new TimeSpan(00001); 
            myDispatcherTimer.Tick += new EventHandler(Each_Tick);
            myDispatcherTimer.Start();
      }
        public void Each_Tick(object o, EventArgs sender)
        {
            translate.OffsetX = 3 * Math.Cos(i);
            translate.OffsetZ = 3 * Math.Sin(i);
            i++;
            fps();
            if (i == 360) i = 0;
        }


In der Each_Tick Funktion müsste ich eigentlich noch ein Wert übergeben. Ich weiss nur nicht wie.

also in etwa so
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
     void StartTimer(double offsetX, double offsetY, double offsetZ)
        {
            System.Windows.Threading.DispatcherTimer myDispatcherTimer = new System.Windows.Threading.DispatcherTimer();
            myDispatcherTimer.Interval = new TimeSpan(00001);
            myDispatcherTimer.Tick += new EventHandler(Each_Tick ????);
            myDispatcherTimer.Start();
        }
        public void Each_Tick(object o, EventArgs sender,int Wert)
        {
            translate.OffsetX = 3 * Math.Cos(i);
            translate.OffsetZ = 3 * Math.Sin(i);
            i++;
            fps();
            if (i == 360) i = 0;
        }
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mi 15.07.09 15:19 
Hallo,

würdest du bitte noch sagen, mit welchem Timer du arbeitest? Ich kenne (ohne WPF) 3 Varianten, in WPF gibt es AFAIK noch eine weitere.

Bitte beachte auch, dass EventHandler grundsätzlich so deklariert werden:
ausblenden C#-Quelltext
1:
2:
3:
4:
public delegate void EventHandler (
  Object sender,
  EventArgs e
)

Das Objekt bekommt den Namen sender, die EventArgs den Namen e. Wenn man (wie du) davon abweicht, kommt man als Leser ständig durcheinander.

Wenn das Tick-Ereignis nur einen "einfachen" EventHandler akzeptiert, dann muss dein Wunsch als unmöglich zurückgewiesen werden. Aber du könntest eine beliebige Variable der Klasse, die den Timer enthält, benutzen.

Jürgen