Исходники для Flash
Уроки по Flash
Статьи
Форум
Гостевая книга

 

 

Добавить сайт в избранное

 

 

Некоторые полезные функции (часть I)

Вот, решил выложить некоторые мои функции. Может быть кому-нибудь пригодятся...

Как вызвать функцию? - Я бы посоветовал "сувать" функции в первый кадр главной сцены. Тогда вызов из любого клипа будет выглядеть так:

_root.myfunction();

 

Если вы применяете функцию на главной сцене, то никаких ссылок писать не надо.

Как вызвать метод? - Из любого места, без ссылок.

Что возвращает функция? - Значение после слова return, почти во всех функциях здесь это переменная result.

Извлечение чисел из строки

Функция:

function numbFromString(string) {
result = "";
for (i=0; i<=string.length; i++) {
if (Number(string.charAt(i)).toString()!="NaN") {
result+=string.charAt(i);
}
}
return result;
}

 

 

 

 

 

Краткое описание:

Данная функция извлекает из указанной строки string только числа (или цифры). В отличие от встроенной во Flash функии parseInt(); она более совершенна.

Пример применения:

trace(numbFromString("dfsdew553dsaas12"));

 

Выводит "55312".

Извлечь только числа из строки text в строку ready на главной сцене:

ready = numbFromString(_root.text);

 


Извлечение букв из строки

Функция:

function strFromString(string) {
result = "";
for (i=0; i<=string.length; i++) {
if (Number(string.charAt(i)).toString()=="NaN") {
result+=string.charAt(i);
}
}
return result;
}

 

 

 

 

Краткое описание:

Функция, обратная предыдущей.


Версия Flash Player'a

Функция:

function getPVersion() {
player = getVersion();
version = player.substring(4, 5);
return version;
}

 

 

 

Краткое описание:

Функция возвращает версию Flash Player'а в виде одной цифры. Например, 5 или 6.

Пример применения:

trace("Установлен Flash Player "+getPVersion());

 

Выводит "Установлен Flash Player 6"

Вывести версию плэера в текстовое поле version:

version = getPVersion();

 


Метод среднего значения для числового массива:

Метод для класса Array:

Array.prototype.getMidle = function() {
for (i=0; i<=this.length; i++) {
sum+=this[i];
result=Math.round(sum/this.length);
}
return result;
};

 

 

 


Краткое описание:

Возращает округленное среднее значение элементов числового массива.

Пример применения:

myArrray = [4,9,1,5,70,9,40,90];
trace(myArrray.getMidle());

 

 

Выводит "29"


Метод для наибольшего числа в числовом массиве

Метод для класса Array:

Array.prototype.getBiggest = function() {
function sortUp(el1,el2) {
return el1-el2;
}
this.sort(sortUp);
last = this.length-1;
result = this[last];
return result;
};

 

 

 

 

Краткое описание:

Метод для класса массивов, с помощью которого можно выбрать наибольшее из чисел числового массива.

Пример применения:

myArrray = [4, 9,118,1, 5,100, 70, 9, 40,45];
trace(myArrray.getBiggest());

 

 

Выводит "118"-наибольшее число.


Сбор сведений о системе пользователя на русском языке

Функция:

function getSystemInfo() {
russian = ["Основной язык", "Операционная система", "Вложение", "Изготовитель", "Серверная строка", "Это Дебуггер?", "Версия flash-плэера", "Поддержка звука ", "Поддержка MP3", "Аудио кодек", "Видео кодек", "Разрешение по горизонтали", "Разрешение по вертикали", "DPI Дисплея", "Поддержка цвета на мониторе", "Размер пиксельного зерна", " Доступность"];
info = [];
russboolen = [];
for (i in System.capabilities) {
info.push(System.capabilities[i].toString());
}
for (t=0; t<info.length; t++) {
if (info[t]=="true"||info[t]=="color") {
russboolen.push("да");
} else if (info[t]=="false") {
russboolen.push("нет");
} else {
russboolen.push(info[t]);
}
}
for (f=0; f<russian.length; f++) {
result += russian[f]+": "+russboolen[f]+newline;
}
return result;
}

 


 

 

 

 

 

 

 

 

 

 

Краткое описание:

Всё, что flash может узнать о системе пользователя можно получить с помощью этой функции. Функция руссифицирована для пользователей рунета. Можете поставить её себе на сайт, чтоб все офигели...:)

Пример применения:

Вывести сведения о системе в поле с именем переменной info:

info = getSystemInfo();

 

Наглядный пример:


Проверка установленного шрифта

Функция:

function checkFont(font) {
var i=0;
fonts = TextField.getFontList();
for (p=0; p<=fonts.length; p++) {
if (fonts[p]==font) {
i++;
}
}
if (i==1) {
return "Шрифт "+font+" установлен";
} else {
return "Шрифт "+font+" не установлен";
}
}

 

 

 

 

 

 

 

Краткое описание:

Если вам нужно проверить какой-нибудь установленный шрифт на машине пользователя, можете воспользоваться этой функцией. Не забудьте указать шрифт в кавычках.

Пример применения:

trace(checkFont("Arial Narrow"));

 

Выводит "Шрифт Arial Narrow установлен" - это у меня на компе:)у вас может его не быть.

Вывести результат в текстовое поле font:

font = checkFont("Aril");

 

Выводит "Шрифт Aril не установлен"


Факториал числа

Функция:

function factorial(number) {
result = 1;
for (i=1; i<=number; i++) {
result *= i;
}
return result;
}

 

 

 

 

Краткое описание:

Функция, котороя вычисляет факториал числа number. (Например, факториал числа 4 равен 1*2*3*4 = 24)

Пример применения:

trace(factorial(8));

 

 

Выводит "40320".


Радианы и градусы

Функция для перевода радиан в градусы:

function radToDeg(radians) {
result = (radians/Math.PI)*180;
return result;
}

 

 

 

Функция для перевода градусов в радианы:

function degToRad(degrees) {
result = (degrees/180)*Math.PI;
return result;
}

 

 

 

Краткое описание:

Две часто используемые в тригонометрии, а значит и во Flash функции для перевода радиан в градусы и наоборот.

Пример применения:

Рассчитать угол в градусах, косинус которого равен "корень из двух на два":

trace(radToDeg(Math.acos(Math.sqrt(2)/2)));

 

Выводит "45" ("корень из двух на два" это Math.sqrt(2)/2)

Рассчитать угол поворота клипа mc в радианах:

_root.mc._rotation=30;
trace(degToRad(_root.mc._rotation));

 

 

Выводит "0.523598775598299"

Проверить правильность работы можно обратным действием:

_root.mc._rotation=30;
trace(radToDeg(degToRad(_root.mc._rotation)));

 

 

Выводит "30" - значит функции работают...


Транслит в кириллицу

Функция:

function translit(string) {
english = [" ","a","b","v","g","d","e","z","i","k","l","m","n","o","p","r","s","t","u","f","h","c"];
russian = [" ","a","б","в","г","д","е","з","и","к","л","м","н","о","п","р","с","т","у","ф","х","ч"];
for (i=0; i<string.length; i++) {
for (t=0; t<=english.length; t++) {
if (string.charAt(i)==english[t]) {
result+=russian[t].toString();
}
}
}
return result;
}

 

 

 

 

 

 

 

Краткое описание:

Не совсем законченная, но вполне рабочая функция перевода латиницы в кирилицу. При переводе больших предложений "притормаживает"...Но хорошо работает при моментальном транслите.

Пример применения:

trace(translit("privet"));

 

Выводит "привет".

Транслит из текстового поля с именем переменной input в поле output:

output = translit(input);

 


Часы

Функция:

function getTime() {
_root.onEnterFrame = function() {
mydate = Date();
time = mydate.substring(9,18);
return time;
};
}

 

 

 

 

Метод для объекта Date:

Date.prototype.getTime = function() {
_root.onEnterFrame = function() {
mydate = Date();
time = mydate.substring(9,18);
return time;
};
};

 

 

 

 

Краткое описание:

Функция (метод) возвращает текущее время в формате ЧЧ:ММ:СС. Автоматическое обновление уже включенно в функцию.

Пример применения:

Вывести время в текстовое поле time на главной сцене:

time = getTime();

 

Метод можно вызвать из любого места:

time = new Date();
time.getTime();

 

 


Все функции проверены на работоспособность. Глюков быть не должно:) Если не понятно, как сделана какая-то функция или метод, пишите мне на мыло.

Всем удачи!

 

Design and development by PLAZMAN

Copyright 2003. All rights reserved.

 

Hosted by uCoz