![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Nov 2005
Адрес: Donetsk
Сообщений: 203
|
надо реализовать такую штуку: при нажатии на кнопку она меняет свое визуальное содержимое и функциоальное, при повторном нажатии опять возвращается к предыдущему,
чтобы было понятнее пример: кнопка восроизведение, при нажатии воспроизводится клип и появляется на ее месте кнопка пауза, при нажатии на паузу клип останавливается и появляется опять кнопка воспроизведение (это сторонний пример) надо сделать с использованием onMouseDown или onMouseUp Вот мой приблизительный код: but2._xscale=0;
but1.onMouseDown=function():Void {
if(this.hitTest(_root._xmouse,_root._ymouse)){
but2._xscale=100;
trace("but1");
this._xscale=0;}
}
but2.onMouseDown=function():Void {
if(this.hitTest(_root._xmouse,_root._ymouse)){
but1._xscale=100;
trace("but2");
this._xscale=0;}
}
При нажатии на but1 все ок: but1 исчезает, появляется but2 и сообщение "but1" Далее при нажатии на but2 - but1 не появляется, а появляются сообщения "but2" и "but1" сразу Догадываюсь, что при втором нажатии срабатывают сразу события but1 и but2... Подскажите, пожалуйста, как обойти проблему... И спасибо за проявленное терпение при чтении вопроса... |
|
|||||
|
Регистрация: Jun 2005
Адрес: в Питере
Сообщений: 981
|
Можно поставить флаг, который будет определять, нажималась кнопка уже или нет. Что-то типа того:
but2._xscale=0;
but1.pressed=false;
but1.onMouseDown=function():Void {
if(this.hitTest(_root._xmouse,_root._ymouse)&&!this.pressed){
this.pressed=true;
this._parent.but2._xscale=100;
trace("but1");
this._xscale=0;}
}
but2.onMouseDown=function():Void {
if(this.hitTest(_root._xmouse,_root._ymouse)){
this._parent.but1.pressed=false;
this._parent.but1._xscale=100;
trace("but2");
this._xscale=0;}
}
__________________
Делай всё быстро, но не торопись!.._/*o|o*\_. Последний раз редактировалось Madasan; 04.05.2006 в 20:09. |
|
|||||
|
можно проще
but2._xscale = 0;
but1.pressed = false;
but1.onRelease = function():Void {
this.pressed = true;
this._parent.but2._xscale = 100;
trace("but1");
this._xscale = 0;
};
but2.onRelease = function():Void {
this._parent.but1.pressed = false;
this._parent.but1._xscale = 100;
trace("but2");
this._xscale = 0;
};
__________________
Давайте отбросим факты, чтобы увидеть суть |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 99
|
Попробуй вот так. Я для себя бы так сделал.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 07:55. |
|
|
« Предыдущая тема | Следующая тема » |
|
|