Регистрация: Jan 2000
Сообщений: 216
|
О, как подробно и полно!
Прямо бери и вставляй в книжку. К вышеописанному я добавлю одну примочечку.
Иногда бывает нужно перегнать в массив слова, содержащиеся в какой-либо строке. Мне на глаза однажды попался весьма подходящий для этого дела метод, который (ни в коей мере не претендуя на авторство) я излагаю.
1. Пишем прототип для объекта типа строка.
Пишем его, пока что, в первом кажре клипа.
String.prototype.getWordsArray=function(){
var temp=[];
var begin=0;
var firstSpace=this.indexOf(" ");
var lastSpace=this.lastIndexOf(" ");
for(var i=0;i<this.length;i++){
if(end!=lastSpace){
end=this.indexOf(" ",begin+1)
temp[i]=this.substring(begin,end,end-begin);
begin=this.indexOf(" ",end)+1;
}else{
break;
}
}
temp.push(this.substring(lastSpace+1,this.length));
return temp;
}
2.Теперь этот прототип можно использовать для любых строк и любых массивов.
Как?
Да очень просто.
Пишем где-нибудь в руте
s="Эта строка будет разбита на слова, которые запишутс\xff в массив";
Создаем массив
a=new array();
И перегоняем в него все слова
a=s.getWordsArray();
3.Остались просмотредь этот массив (убедиться дабы), что и делаем.
for (i=0;i<a.length;i++){
trace(a[i]);
}
4. Почему же все-таки прототип?
Потому, что эта задача может возникнуть завтра, а может - и через месяц. Чтобы не создавать каждый раз код заново, используем один раз созданное для всех случаев жизни.
Для этого вышеописанный прототип записываем в отдельный файл с именем strtowords.as, из самого же клипа в таком случае - удаляем его, а в первом кадре вашего клипа пишем:
#include "strtowords.as";
Вот и все. Теперь вам не нужно переписывать каждый раз код прототипа из программы в программу, достаточно лишь положить в исполняемую папку файл с прототипом (с вашей библиотекой прототипов!) и откомпилировать клип. Написанный прототип подключится, куда надо, и для работы исполняемого файла он более не нужен.
Вот и все, что хотел добавить по поводу массивов.
__________________
Ударим флэшем по бездорожью и разгильдяйству!
VOL
|