Я написал таймер, чтобы показать пользователю, сколько он / она находится в этой текущей сцене:
timer_txt.x = 352;
timer_txt.y = 705;
var nCount: Number = 0;
var myTimer: Timer = new Timer(50, nCount);
timer_txt.text = "Time: " + nCount.toString();
myTimer.start();
function countUp(e: TimerEvent): void {
nCount++;
timer_txt.text = "Time: " + nCount.toString();
if (nCount > 60) {
var formattedTime =
((Math.floor(nCount / 60)) + ":" + (nCount % 60 >= 10 ? "" : "0") + (nCount % 60));
timer_txt.text = "Time: " + formattedTime.toString();
}
}
У меня есть кнопка reset
для сброса других объектов на сцене, но не timer
.
Мои проблемы:
Каждый раз, когда я нажимаю кнопку
reset
,timer
становится все медленнее и медленнее, и я не знаю почему, пока я не делаю никаких изменений в таймере. У меня на сцене многоflags
и многоchild
. Когда пользователь щелкает / касается кнопкиreset
, всеflags
будут равны0
, а всеchild
снова будутremoved
иadd
на сцену.Когда пользователь переходит в другую сцену (таймер должен перестать работать, а текущее значение таймера необходимо сохранить в переменной) и когда пользователь снова возвращается в эту сцену, этот таймер должен работать следующим образом:
previous value + counting the time
.Когда я открываю его в мобильном телефоне, скорость его работы отличается от скорости ПК. Есть ли какое-то решение, чтобы закодировать его, чтобы он был совместим с синхронизацией собственного устройства? это функция, которую я написал:
function timerAtoB(firstColor: int): void { lineColor = firstColor; //GRID; //Path A to B var PathAB: Grid; PathAB = new Grid(4, 35, 20, 22, canvas, lineColor); this.addChild(PathAB); }
Эта функция предназначена для соединения размера A с размером B. Связь между A и B будет построена с использованием класса Grid
- этот класс должен найти кратчайший путь между A и B и установить связь между ними (что я не хочу проходить через это больше, чем это, поскольку он сложнее).
и я вызываю эту функцию с некоторой задержкой:
delayCallFunctions(1000, timerAtoB, wireColor);
Когда я запускаю его на своем мобильном телефоне, эта задержка будет работать правильно, но не в правильное время. Например, я написал 1000ms
означает выполнение функции примерно через 1 sec
, но в моем мобильном телефоне для выполнения функции требуется больше 1 sec
.
Заранее благодарим за ваше время и помощь.