Registriert seit: 7. Jun 2004
386 Beiträge
|
Re: Geschwindigkeit bei bewegten Objekten
8. Aug 2006, 11:48
Wo mit bewegst du denn das Objekt? Über einen einfachen Timer?
Ich denke du solltest einfach das Timer-Intervall erhöhen, so dass kleinere Bewegungen pro Intervall ausreichen.
Ich habe für sowas immer das OnIdle benutzt; es wird so oft wie es dem Rechner möglich ist ausgeführt. Dann kannst du die Koordinaten des Objektes in kleinen Schritten vergrößern oder verkleinern und das ganze sollte flüßig laufen.
Also statt OnTimer (oder was auch immer du verwendet hast):
Application.OnIdle := procedure1;
in das OnCreate und dann den zu wiederholenden Code in eine Methode mit Namen 'procedure1'.
Auf DelphiGL.com gibt es einen Bomberman Tutorial, dort steht etwas über 'Timebased Movement', dass du dir mal durchlesen solltest. Der Nachteil vom OnIdle ist nämlich, dass es von der Rechenleistung abhängt, wie oft es ausgeführt wird und das Programm dann auf schnellen Rechner möglicherweise zu schnell ausgeführt wird. Dort ist beschrieben, wie du das umgehen kannst.
|