#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()
, а затем выполнить сравнение между временами.