Уверен, чтобы создать кнопку во Flash, вы используете визуальные средства Flash. Да, это довольно просто. Но, если вы хотите добвавить сложное динамическое поведение кнопки на этапе выполнения, без клипов не обойтись.
В следующем примере создается клип, в него помещается текстовое поле, а затем определяется обработчик события кнопки onRelease():
//Создаем клип
this.createEmptyMovieCliip ("submit_mc", 1);
//Добавляем текстовое поле
this.submit_mc.createTextField ("submit_txt", 1, 0, 0, 50, 20);
this.submit_mc.submit_txt.text = "Умный Мозг";
//Определяем обработчик кнопки
this.submit_mc.onRelease = function() {
trace("Отлично. Вы нажали на кнопочку.");
}
Созданный нами клип отлично работает в качестве кнопки. Теперь давайте немного облегчим задачу пользователю. Для этого мы увеличим размер активной области нашего клипа, создав отдельный клип активной области (hit area movie clip), выполнив следующие действия:
1 Создадим клип, указав желаемые размеры
2 Скроем наш клип, установив для его свойства _visible значение false.
3 Присвоим клип активной области свойству hitarea клипа с событиями кнопки.
Обычно клип, выполняющий функцию активной области, помещают внутри клипа с событиями кнопки, чтобы активная оболасть перемещалась и меняла размеры вместе со своим родительским клипом.
Например, в следующем коде с помощью Drawing API создается клип активной области с размерами, большими чем у слова "Умный Мозг":
//Создаем hit_mc внутри submit_mc
this.submit_mc.createEmptyMovieClip("hit_mc", 0);
//Нарисуем в hit_mc прямоугольник
this.submit_mc.hit_mc.moveTo(-30, -15);
this.submit_mc.hit_mc.beginFill(0xFF0000);
this.submit_mc.hit_mc.lineTo(80, -15);
this.submit_mc.hit_mc.lineTo(80, 35);
this.submit_mc.hit_mc.lineTo(-30, 35);
this.submit_mc.hit_mc.lineTo(-30, -15);
this.submit_mc.hit_mc.endFill();
//Скрываем клип активной области
this.submit_mc.hit_mc.visible = false;
//Задаем hit_mc в качестве активной области submit_mc
this.submit_mc.hitArea = this.submit_mc.hit_mc;
Чтобы кнопка была заметна пользователю, выделим слово "Умный Мозг" жирным цветом в обработчике onRollOver() клипа submit_mc:
//Если указатель мыши над текстом, делаем его жирным
this.submit_mc.onRollOver = function() {
this.submit_txt.setTextFormat (new TextFormat(null, null, null, true));
}
//Обычный текст при выходе указателя за пределы кнопки
this.submit_mc.onRollOut = function() {
this.submit_txt.setTextFormat (new TextFormat(null, null, null, false));
}
На самом деле существует множество различных модификаций кнопки, но мы пока остановимся на достигнутом. Ведь и это уже немалый результат, не так ли?
--- О экстримальных зимних занятиях и животных в блогах ---
- Самый популярный блог о пингвинах расскажет кто такие пингвины адели.
- Зимние модели верхней одежды на блоге о стиле и моде.
- На блоге про охоту в Тамани охотничьи собаки фото с похождений.
- А вот лирический блог пишет про зимнюю рыбалку.


Всё сделал по шагам как тут и написано,но чёт чучуть не получилось.Наверно малёха не догнал или что-то пропустил,ща ещё раз пройду всё по очереди.
Андрей, добавил исходник, попробуйте скачать и разобраться.
Большое спасибо, я как раз искал как можно сделать кнопку так, чтобы по сути кнопкой она не была)). Не могли бы вы ещё рассказать внятно о том как с помощью AS копировать экземпляры. И да, ещё, можно ли заставить работать ваш код на AS3?
Я так понимаю, вам нужно использовать
duplicateMovieClip(target, newName, depth);, гдеtarget– строка, задающая имя экземпляра, который хотим копировать,newName– имя нового клипа,depth– место в стеке содержимого (глубина).Почти) Получилось реализовать чеез attachMovie().
В вашем случае эти функции выполняют одну и ту же роль
И ещё – не подскажите как в этих клипах-кнопках можно отловить событие другое, например, нажатие клавиши, а в идеале и не одной?
Как вариант – this.onMouseDown=function(
{if(Key.isDown(Key.ALT)){trace(“rg22″);}}