![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Добрый день.
При клике на канву я добавляю новый компонент и начинаю рисовать на нём линию //addedToStage обработчик private function initDrawing():void { stage.addEventListener(MouseEvent.MOUSE_MOVE, showLine); stage.addEventListener(MouseEvent.MOUSE_UP, drawLine); //вот это проблемный обработчик, pick - пустая функция addEventListener(MouseEvent.MOUSE_DOWN, pick); } //показывает как будет выглядеть линия private function showLine(e:MouseEvent):void { var eventPoint:Point = globalToLocal(new Point(e.stageX, e.stageY)); this.graphics.clear(); this.graphics.lineStyle(1, 0x000000); this.graphics.moveTo(startPoint.x, startPoint.y); this.graphics.lineTo(eventPoint.x, eventPoint.y); } //рисуем линию и чистим слушатели private function drawLine(e:MouseEvent):void { stage.removeEventListener(MouseEvent.MOUSE_MOVE, showLine); stage.removeEventListener(MouseEvent.MOUSE_UP, drawLine); //..... endPoint = globalToLocal(new Point(e.stageX, e.stageY)); this.graphics.clear(); this.graphics.moveTo(startPoint.x, startPoint.y); this.graphics.lineStyle(4, 0x000000); this.graphics.lineTo(endPoint.x, endPoint.y); } А если я закомментирую этот обработчик, всё будет работать. Я везде пытался засунуть (в рамках приложения) этот обработчик, но без результатов. Почему так? Добавлено через 8 минут Подписался на Event.RENDER, в обработчике перерисовываю линию, вроде работает, но почему такое происходит? И хорошее это решение? Последний раз редактировалось AlexLucas; 22.12.2012 в 15:05. |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|