![]() |
|
||||||||||
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
я когда-то писал в исходники такую штуковину...
но это было давно и не правда :) сейчас я бы сделал так: // —————————————————————————————————
// doubleclick event
Mouse.addListener(Mouse);
// dblclick time (msec)
Mouse.doubleClickTime = 300;
// global dblclick event generator
Mouse.onMouseDown = function() {
var md = Mouse.onMouseDown;
trace("["+md.click+"]"+(getTimer()-md.click)+" :: "+Mouse.doubleClickTime);
if (md.click && (getTimer()-md.click<=Mouse.doubleClickTime)) {
this.broadcastMessage("onDoubleClick");
} else {
md.click = getTimer();
}
};
Mouse.onMouseMove = function() {
Mouse.onMouseDown.click = 0;
};
// —————————————————————————————————
// sample:
// **
Mouse.addListener(this);
// **
this.onDoubleClick = function() {
trace(this+" : doubleclicked");
};
Mouse.doubleClickTime - это время между кликами в милисекундах таким образом занят только обработчик Mouse.onMouseDown кстати, обратите внимание на отсутствие конструкции ASBroadcaster.initialize(Mouse); которая разрешила бы объекту Mouse передавать события). объект Mouse и так передает события. |
![]() |
Часовой пояс GMT +4, время: 16:30. |
|
|
« Предыдущая тема | Следующая тема » |
|
|