Сегодня мы будем опять пытаться говорить про
Flash. Вернее, я буду говорить, а ты будешь меня слушать, ну что забыл, как в детском саду учили
сосредотачиваться и слушать? Я тебя не собираюсь тут за нос
таскать - не хочешь, не надо, я буду рассказывать это для тех, кто меня хочет
слушать. Сегодня я хотел бы затронуть жизнедеятельность некоторых
процессов ActionScript'а во Flash 5.
Сначала для самых маленьких поясню, что такое ActionScript, и как с ним обращаются. В последнее время, ты наверное заметил, появилось очень много разных языков программирования и разных язычков написания сценариев. Как ты уже
догадался, Flash не отстаёт от времени и тоже добавляет
в свои продукты разные новомодные феньки. ActionScript это язык написания сценариев для Flash. Ты, наверное, уже его использовал, если ты хоть раз делал кнопки во Flash'е, то ты должен знать, чтобы
заставить эту кнопку работать, надо нажать на кнопку и в окне Action написать "on (release) {getURL ("");}" или ещё что-то в этом роде, ну так вот это и есть тот самый ActionScript.
А сегодня
специально для тебя мы рассмотрим, как работают некоторые сценарии на
примере созданного мной Flash'а.
Итак, для начала создай чистый рабочий лист и в первом слое нарисуй нолик, теперь сдвинь
первый кадр(фрейм) на второй(потом ты сам поймёшь зачем). Готово? Дальше ты мышкой жмёшь в 5 кадр и нажимаешь F7(это ты вставил пустой кадр),
напиши в нём "1ая стадия", выбери окошко Frame(Window -> Panels -> Frame или
просто нажми Ctrl+F) и в строке Label напиши "one", аналогично сделай с 10 кадром, только напиши "2ая стадия" и Lable
напиши "two", в 15 "3ая стадия" и Lable "three" и в 20 "4ая стадия", а Lable "four". Теперь надо будет перейти во 2 фрейм, где мы рисовали нолик, и открыть окошко Action(Window -> Actions или Alt+Ctrl+A), ты увидишь
- окно
разделено на две части, с одной стороны будут разные папки, а с другой стороны пусто, тебе надо будет нажать на папку Actions и найти в ней пункт "set variable". "set variable" - это переменная, не буду тебе
морочить голову, какие они бывают, и зачем нужны, со
временем сам поймёшь, скажу лишь то, что, когда ты на неё нажмёшь, она у тебя
появится справа, а снизу появятся два поля ввода, первое, которое называется "Variable",
- это имя переменной, а второе - это его значение, имя ты ему можешь дать любое, я дал, например, "х". Далее переходим ко второму полю, тут тебе напротив этого поля надо поставить галочку(где "Exsprssion"), а
в самом поле написать random(4). Таким образом мы создали переменную "х" значение которой будет выборочным от 0 до 3 включительно(если ты не забыл, то во всех языках
программирования счёт начинается с 0, а не с 1), то есть "х" может стать 0,1,2 или 3,
в общем четыре варианта. Тут мы и вспомним про наши стадии... Теперь мы напишем
маленький скрипт, который будет произвольно посылать нас
в какую-нибудь из стадий. Для этого тебе надо слева
(если ты не забыл мы находимся в окошке Actions)
найти "if"; кликай на него
дважды и в поле снизу(Condition) пиши следующее "х==0", это мы проверяем
"если "х" равен "0". Далее в окошке слева выбери папку Basic Actions и пункт "Go To" и опять кликай по нему дважды. Снизу опять какие-то строки для ввода, в них
разобраться несложно, так что не буду тут тебе всё это
объяснять. В поле Type выбери "Frame Label", а в Frame выбери "one" и убери флажок с "Go to and Play". Теперь если "х" вдруг будет равняться "0", то наш скрипт отправит тебя на 5 кадр(на 5, потому что 5 кадр помечен как "one"). Далее ты из папки Actions
выбираешь "else if" и в значении пишешь "х==1", потом возвращаешься в папку Basic Actions и опять жмёшь на "Go To", только на этот раз вместо "one" вводишь
"two", и не забудь, где Type, поставить "Frame Label", и флажок убрать с "Go to and Play". Теперь наш скрипт умеет отправлять нас на 5 кадр, в
случае если "х" будет равен "0", и отправит нас на 10, в
случае если "х" равен "1". Классно? Дальше сам разберёшься? Нет,
всё-таки давай я тебе помогу. Ты опять два раза кликаешь на "else if" и в свойствах пишешь "х==2", далее "Go To"
опять же Type -> "Frame Label", а где когда-то было "one" и "two" вводишь
"three", и флажок убрать не
забудь. Так тут уже у нас идёт заключительная стадия, ты жмёшь на на
"else", тут уже никаких значений вводить не надо, просто опять же "Go To" всё, как всегда, только
"four", где Frame. И на последок добавь "Stop", но перед тем, как жать на
"Stop", убедись, что справа курсор стоит на самой нижней "}", если стоит там, то всё ОК, а если нет, то надо поправить и тогда жать. Теперь твой скрипт может: присвоить переменной "х" произвольно значение и отправить
тебя в
соответствующий кадр. Классно? Но этого маловато. Создай ещё одни слой(Insert -> Layer) и вставь в него
кнопку(если не знаешь, как кнопки делать, то выбери из доступных Window -> Common Libraries -> Buttons, чтобы вставить кнопку в кадр, просто перетащи её из Library). После того как кнопка готова, выдели её в окошке Actions, выбери "Go To", на этот раз ничего менять не надо. Теперь если ты всё сделал
правильно, смело жми Ctrl+Enter и наслаждайся тем, что когда ты нажимаешь на кнопку тебя посылают в произвольный фрейм.
Но это ещё не конец урока, и радоваться ещё пока рано, так что отдохни 5 минуток, а потом опять за лопату и в огород. Я думаю, было бы неплохо ещё научить наш скрипт выводить, сколько раз мы запускали его, и какая стадия была предыдущая.
Исходник: randframe.zip