Ваш скрипт загрузчика кажется мне абсолютно нормальным, за исключением небольшого недостатка: единственный способ, которым NaN
(== не число) в вашем сообщении об ошибке имеет смысл для меня, если ваше свойство ProgressEvent bytesTotal
равно 0- потому что деление на ноль не дает действительных результатов, как мы все знаем.
Я не могу точно сказать, почему это происходит, не зная вашего серверного кода, но я предполагаю, что это произойдет, если ваш прокси-скрипт PHP неправильно установит заголовок ответа Content-Length
HTTP.Если бы вы загружали реальный файл изображения, веб-сервер автоматически установил бы заголовок для вас - в случае вашего прокси-скрипта, кажется, вы должны позаботиться об этом сами.
В любом случае, вы можете сделатьваш скрипт загрузчика более защищен от ошибок, протестировав NaN
и убедившись, что кадр, к которому вы переходите, никогда не превышает 100:
var frame:int = isNaN (percentLoaded) || percentLoaded < 1 ? 1 :
percentLoaded > 100 ? 100 : percentLoaded;
progressBar.gotoAndStop(frame);
(я выбрал сокращенное обозначение, но по сути это то же самое, чтонаписание двух if
заявлений и else
).