Я должен был проверить, является ли переменная (строка или число) целым числом, и я использовал это условие:
function isInt(a){
return !isNaN(a) && parseInt(a) == parseFloat(a);
}
http://jsfiddle.net/e267369d/1/
Некоторые другие ответы имеют аналогичное решение (опираться на parseFloat
в сочетании с isNaN
), но мой должен быть более прямым и самообъяснимым.
Редактировать: я обнаружил, что мой метод не работает для строк, содержащих запятую (например, «1,2»), и я также понял, что в моем конкретном случае я хочу, чтобы функция не работала, если строка не является допустимым целым числом (должен потерпеть неудачу на любом float, даже 1.0). Итак, вот моя функция Mk II:
function isInt(a){
return !isNaN(a) && parseInt(a) == parseFloat(a) && (typeof a != 'string' || (a.indexOf('.') == -1 && a.indexOf(',') == -1));
}
http://jsfiddle.net/e267369d/3/
Конечно, если вам действительно нужна функция чтобы принимать целочисленные числа с плавающей точкой (1.0 штук), вы всегда можете удалить условие точки a.indexOf('.') == -1
.
вместо
var test:Bitmap = new Resource.SHIPS_1();
Используйте
myImage.source = Resource.SHIPS_1;
Встраивание правильное. : D то, как вы это используете, неправильно :)
Адриан
Это действительно то, что Flash CS4 предназначен для. Мне кажется, что ваш путь хорош - хотя я бы не стал использовать все заглавные буквы для имени класса, даже если это константа. Просто опустите голову и начните копировать-вставку!
В качестве альтернативы вы можете загрузить файлы во время выполнения.
Если вам нужно обрабатывать большое количество ресурсов, вы можете выполнить следующие 3 шага:
Поместите их в несжатый zip-архив
Вставьте zip-файл как двоичные данные:
[Вставить (source = 'resources.zip', mimeType = 'application / octet-stream')]
Доступ к ресурсам с помощью FZip
Если вы выберете другой метод, включающий загрузку внешних файлов имейте в виду, что некоторые веб-сайты с флеш-играми требуют, чтобы игры, которые они размещают, содержались в одном файле SWF.