Actionscript использует getTimer () максимально

#apache-flex #actionscript #flash

#apache-гибкий #actionscript #flash

Вопрос:

Документация по методу flex getTimer() гласит:

int — количество миллисекунд с момента инициализации среды выполнения (при обработке ActionScript 2.0) или с момента запуска виртуальной машины (при обработке ActionScript 3.0). Если среда выполнения начинает воспроизведение одного SWF-файла, а другой SWF-файл загружается позже, возвращаемое значение относится к моменту загрузки первого SWF-файла.

Максимальное значение для int равно: 2,147,483,647, что составляет чуть меньше 25 дней. Если бы кто-нибудь оставил приложение flash запущенным на длительный период времени, кто-нибудь знает, что произойдет, когда этот метод достигнет максимального значения для int? Сбрасывается ли он до нуля?

Ответ №1:

Когда int достигает максимального значения 2147483647 и при добавлении 1, он должен сбрасываться до своего максимального значения -ve -2147483648, и это итеративно по своей природе, поэтому функция не должна завершаться сбоем

Добавлен пример кода РЕДАКТИРОВАНИЯ

 private function intcheck():void
{
    var a:int = 2147483647;
    var b:int = 1;
    var c:int = a b;

    Alert.show(c.toString());
}
  

Надеется, что это поможет

Ответ №2:

Я не знаю ответа наверняка, но я бы предположил, что число перевернется. Однако, если вас беспокоит перенос, вы можете захотеть взглянуть на Timer класс или просто использовать старую метку времени с new Date().getTime() , а затем выполнить сравнение между временами.