PDA

Просмотр полной версии : событие на второй клик мыши


Sergey_leeex
28.05.2008, 19:56
Такой вопрос:необходимо нарисовать линию,которая будет начитаться в месте первого клика мыши,а заканчиваться в месте второго клика.Проблема,как понимаете со второй точкой)

GFreemen
28.05.2008, 22:41
Дык, а в чем проблема-то?
При первом нажатии ставишь флаг. Потом проверяешь - если флаг стоит, то это второе нажатие, если нет - то первое.
Я делал рисовании линии по отжатию мыша.

Alex_beginner
29.05.2008, 13:50
GFreemen! Ну что Вы! Может Sergey leeex хочет узнать все по-порядку.

1. При первом нажатии кнопки, событие onMouseDown() (или другое по желанию) устанваливаете глобальную переменную flag = true. До нажатия кнопки эта переменная должна иметь значение false;
2. Фиксируете координаты мыши при нажатии кнопки, записывая их в переменные posX, posY (пример);
3. Манипулируя мышью вы помещаете указатель мыши в новую позицию
4. Вторично нажимаете кнопку мыши (или другое). По нажатии кнопки мыши Вы анализируете состояние флага flag. Если он в true, то это значит кнопка уже была нажата единожды, если false, то нет.
5. В блоке условного оператора при flag == true фиксируете новые координаты указателя мыши и, разумеется, проводите линию из координат posX и posY в новые координаты, пользуясь при этом методами класса MovieClip - moveTo и lineTo.

olexandr
29.05.2008, 14:28
var flag:Boolean = false;
this.lineStyle(1,0x000000);
this.onMouseDown = function() {
if (flag) {
this.lineTo(this._xmouse,this._ymouse);
} else {
this.moveTo(this._xmouse,this._ymouse);
}
flag = !flag;
};

Sergey_leeex
29.05.2008, 20:41
спасибо,за подсказки,но я уже решил эту проблему)))