Иллюстрированный самоучитель по Flash-games

       

Определение версии Flash-плагина


Исходный файл: Version.fla

Язык ActionScript во Flash 4 и 5 отличался так сильно, что ролик со сложным сценарием, созданный во Flash 5, скорее всего вообще бы не работал при использовании плеера четвертой версии. Однако Flash 5 и Flash MX достаточно сходны для того, чтобы ролик с кодом, созданным в версии MX, мог достаточно часто работать во Flash 5-плеере.
Это создает интересную проблему. Довольно легко сделать игру во Flash MX, которая будет работать у многих людей с Flash 5-плеером до какого-то момента. Когда же попадется участок кода, требующий Flash MX-плеера, игра или перестанет работать, или начнет вести себя непредсказуемым образом. Как узнать версию плеера Необходимо убедиться, что у пользователей установлен плеер шестой версии, прежде чем он начнет игру. Сделать это можно с помощью функции getVersion().
Функция getVersion () возвращает строку вида MAC 6,0 21,0. Первое слово - это аббревиатура платформы, обычно MAC или WIN. Вторая часть - это версия Flash-плеера, в настоящий момент запущенная на пользовательской машине.
Каждая часть номера версии отделена запятыми. Это создает трудности при сравнении имеющейся версии с требуемой. Как вы, например, определите, MAC 6,0 21,0 больше или равно версии 6?
С помощью некоторых операций со строкой вы можете перевести значение, возвращаемое функцией getVersion () во что-нибудь более пригодное к использованию. Следующая функция разбивает строку, используя пробелы и запятые как разделители. Она создает переменную -объект, к которому вы можете легко обращаться.

function getVersionNumber() {

// Определяем позиции запятых и пробелов.

spacePos = getVersion().indexOf(" ");

firstComma = getVersion().indexOf(",");

secondComma = getVersion().indexOf(",",firstComma+1);

thirdComma = getVersion().indexOf(",",secondComma+1);

lastChar = getVersion().length;

// Создаем объект version.

version = new Object();

version.platform = getVersion().substring(0,spacePos);

version.n1 = getVersion().substring(spacePos+1,firstComma);

version.n2 = getVersion().substring(firstComma+1,secondComma);

version.n3 = getVersion().substring(secondComma+1,thirdComma);

version.n4 = getVersion().substring(thirdComma+1,lastChar);

return(version);

}

В результате работы getVersionNumber получится примерно следующее:

{platform: MAC, nl: 6, n2: 0, пЗ: 21, п4: 0}

Таким образом, если вы хотите получить главный номер версии Flash, просто используйте getVersionNumber () .n1.



Содержание раздела