32
GETTIMER fängt halt eben nach jedem SHOWSCREEN die Zählung neu an. Du bräuchtest dann halt eben noch eine weitere Variable, wo du die jeweilige Verzögerung ermittelst. GETTIMERALL ist hier imho einfacher zu handhaben, weil er die Zählung beim Start des Programmes beginnt und somit linear fortgeschrieben wird.
Theoretisch könnte es zwar irgendwann mal zu einem Überlauf kommen und die Zählung im negativen Bereich weitergehen, das geschieht bei 32-Bit integer aber erst nach etwas mehr als 24 Tagen.
aber hier dann noch das passende Beispiel mit GETTIMER
LOCAL zaehler = 0
LOCAL verzoegerung = 1000 // 1000 Millisekunden
LOCAL zeit = 0
WHILE TRUE
zeit = zeit + GETTIMER()
PRINT zaehler, 0, 0
IF zeit > verzoegerung
INC zaehler
zeit = 0
ENDIF
SHOWSCREEN
WEND