][-desktop

Спецвыпуск Xakep, номер #022, стр. 022-074-1


извращения продолжаются

ilich (ilich@spez.fatal.ru)

Фишка в том, что кнопка никак на будет реагировать на события мыши (а-ля press, release и т.п.), если она закрыта сверху другой кнопкой.

Я не знаю, какое у тебя выражение лица, когда ты слышишь от меня что-то вроде "давай покодим" или "ActionScript". Надеюсь, в такие моменты у тебя на лице расползается добрая улыбка маньяка, только что выполнившего очередную миссию :).

По-моему, издевательство во Flash'e над курсором мыши - есть существенный шаг к статусу продвинутого флешера. Если ты уже Бог в этом деле, можешь дальше не читать.

Ну что ж. Теперь всем уже достоверно известно, что ты конкретный мачо. Ведь у тебя теперь, небось, самый-самый информативный Рабочий стол, всем и вся говорящий дико лестные слова о частях твоего тела, да и вообще о тебе в целом. Но вот беда: надпись-то остается одной и той же уже месяц? Да и мыша над этой байдой не особо выразительная. Это не соответствует твоему имиджу и подлежит корректировке.

LOADING...

Начнем с легкого. Иди в папку, где лежат файлы *.fla и *.swf, созданные за прошлый сеанс. Создай там текстовик "mytext.txt" и набей в него "text=Не грусти - загрузи!" (только без кавычек).

Теперь Flash. Ткни правой кнопкой мыши на клипушнике "Main" на твоей Рабочей области и выбирай в выпавшем меню пункт "Операции" ("Actions"). В экспертном режиме (Ctrl+E) вводи:

onClipEvent (load) {

loadVariables("mytext.txt",this)

}

onClipEvent (data) {

str.str1=text;

}

Ты, бесспорно, самый крутой флешер и программер мира сего, но я все же на всякий случай поясню, что дает этот код :). Конструкция onClipEvent () выполняет какие-либо заданные действия по событию клипа, указанному в скобках. Событие load значит "загрузка", прикинь :). Ит минз, что операция loadVariables("mytext.txt",this), которая грузит переменные из файла "mytext.txt" на текущий уровень, выполнится лишь по загрузке данного клипа. Все операции, связанные с событием data, сработают, когда окончательно грузанутся все переменные из указанного файла. Т.е. переменной "str.str1" (а ты наверняка помнишь, что это текст нашей бегущей строки) присвоится значение только что загруженной переменной "text".

Зачем, собственно, все это нужно было-то? А затем, чтобы тебе, перец, не напрягаться лишний раз, загружая Flash, дабы изменить текст бегущей строки.

Только стоит тебе знать один нюанс: наша строка str1 в самой флешке, как известно, осталась не пустой. Так вот, это было сделано не зря, т.к. размер (длина) этой строки при присвоении ей нового текста не изменится. Так что не особо удивляйся, если после ввода очень длинной строки в текстовик у тебя обрежется ее половина в swf и, следовательно, на обоях. И, кстати, скрипт, двигающий мувик с текстом, в таком случае становится немного недоделанным :))). Попробуй в качестве тренировки это исправить. Я знаю, для тебя это раз кликнуть. На крайняк мыль - помогу.

РАЗНЕСИ КУРСОР!

По-моему, издевательство во Flash'e над курсором мыши - есть существенный шаг к статусу продвинутого флешера. Если ты уже God в этом деле, можешь дальше не читать (шучу, конечно, читай на здоровье, может быть, все же узнаешь чего новое ;)).

Содержание  Вперед на стр. 022-074-2