Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #27, ФЕВРАЛЬ 2003 г.

][-DESKTOP - убить за 60 секунд

ilich (ilich@winfo.org)

Спецвыпуск Xakep, номер #027, стр. 027-088-2


onClipEvent (enterFrame) {

if (_root.destr==1) {

_x=_root._xmouse;

Mouse.hide ();

} else {

_x=-100

Mouse.show ();

};

_y=_root._ymouse;

}

Вместо события "enterFrame" (т.е. срабатывает каждый кадр - 12 раз в секунду) с тем же успехом можно было бы использовать "mouseMove" (т.е. срабатывает при движении мыши - я думаю, чаще). Как скрыть/показать мышь и позиционировать мувик на ее место, дети проходят во втором классе. Если ты ушел раньше, этот код наглядно показывает, что пока переменная "_root.destr" равна единице, вместо реального курсора мы имеем счастье наблюдать наш "C - Cross". Когда же вышеобозначенный флажок изволит поменять свое значение на что-то отличное от единицы, появится курсор, который подарил тебе Билл, а прицел улетит в небытие, т.е. аж на 100 пикселей за экран. Теперь надо бы сделать механизм работы с "_root.destr".

Для чего все это вообще надо? А для того, чтобы дестрой Кремля творился у тебя на столе не ежесекундно, а лишь по мановению твоих перстов. Т.е. по нажатию некоторой кнопки (забудь про красный цвет, мы говорим про твой Рабочий стол :)). И чтобы это отследить, мы просто сделаем два режима проигрывания флешки (определяемые именно значением флажка "_root.destr "): дестрой и антидестрой. Создай символ графики "G - Face" и нарисуй в нем себя злобного. Необходимого выражения лица можно достигнуть, попытавшись полноценно работать одновременно во всех прогах, установленных на твоем харде (не забудь потом этот автопортрет повесить где-нибудь в инете или просто прислать мне - я сделаю). Запихни этот шедевр в кнопочку "B - MenuW" во все четыре ключевых кадра.

Только во втором сильно схвати себя за ... короче, там у тебя должно быть ну очень злое лицо. Кнопку тащи на основную сцену. Кидай в слой к прицелу и скриптуй:

on (press){

if (_root.destr==0){

_root.destr=1;

} else {

_root.destr=0;

for(k=1;k<=_root.i;k++){

removeMovieClip(_root.kremlin["hole"+k]);

};

};

}

Понятно, что при нажатии на ЭТО флажок "_root.destr" меняет свое значение с единицы (дестрой в разгаре) на нолик (Кремль живет) и обратно. Примечательно то, что если кликнуть по этой кнопке во время бойни (в if'e будет else), будет удален ряд клипов с однотипными названиями (я, по крайней мере, стараюсь по возможности давать переводимые названия идентификаторам). Так вот, это мы чистим место для следующего месива - эти клипы есть не что иное, как дырки в Кремле, оставленные твоей горячей рукой. Ну, или чем там еще, тебе решать...

КРЕМЛИН КАПУТ

Этими дырками мы сейчас и займемся. Рисованием то бишь. Создавай новый графический объект "G - Brick" и рисуй там кирпич. Да-да, тот самый кирпич. Достаточно намалевать прямоугольник характерных CC3300-го цвета и пропорций. Это нелегко, я знаю. Вот где по-настоящему проявляются все творческие навыки :). Как справишься, твори новый клип "C - HoleBrick". Здесь надо изобразить появление дырки на свет, т.е. разрушение стены как можно красивее. Действие должно течь от кадра с бесформенным пятном целой еще кирпичной стены к кадру, в котором кирпичи остаются лишь по периметру дыры. За кадров десять часть кирпичей должна разлететься в стороны, а часть - как бы провалиться в дыру (блин, прикольно будет смотреться :)). К последнему кадру все, кроме остающихся элементов, должно стать полностью прозрачным. Это дело лучше всего выполнить при помощи Motion Tweening'a, причем для большего эффекта все кирпичики должны лететь по-своему, с каким-нибудь особенным выкрутасом. То есть должны анимироваться в отдельных слоях.

Назад на стр. 027-088-1  Содержание  Вперед на стр. 027-088-3