
01.07.2005, 15:10
|
|
Регистрация: Jun 2005
Сообщений: 16
|
В моём исходнике ничего особого нет, лишь компонент "button" от Macromedia, он имеет имя "btn0", а в кадр вставлен такой AS:
btn0.setLabel("кнопка 0")
for (var i=1;i<6;i++){
btn0.duplicateMovieClip("btn"+i,i)
_root["btn"+i]._x=btn0.width*i
_root["btn"+i].setLabel("кнопка "+i)
}
Если требуется сделать похожее с кнопкой, созданной своими руками, в библиотеке нужно изменить её behavior/type на moveClip, также, как в кнопке, создать три кадра (в 1 - обычное состояние, 2 - при наведении, 3 - при нажатии), на второй слой вставить текстовое динамическое поле с названием "label" и написать, например, следующий код:
// один из способов создания поведения кнопки из movieClip, после которого кнопка реагирует только на onRelease
stop()
onRollOver=function(){over()}
onRollOut=function(){out()}
onPress=function(){down()}
onMouseUp=function(){if(this.hitTest(_root._xmouse,_root._ymouse,true)){over()}}
onDragOut=function(){out()}
onDragOver=function(){over()}
// вызываемые функции
function over(){gotoAndStop(2)}
function out(){gotoAndStop(1)}
function down(){gotoAndStop(3)}
function setLabel(nm){label.text=nm}
|