Рисование квадрата AS3

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.

Рисование квадрата AS3

Сообщение irakezz » 24 дек 2009, 17:51

Подскажите пожалуйста как организовать рисование геометрических фигур(в данном случае квадрата)при помощи мыши в своем приложении? Я полагаю что для этого нужна функция DrawRect но проблема в том что там требуется 4 параметра, координаты верхнего левого угла(этот параметр можно привязать к координатам мыши) и ширина с высотой( вот здесь и кроется проблема)! Как сделать так что бы ширина и высота менялась в зависимости от того куда я перемещу мышь с зажатой левой кнопкой?
irakezz

 
Автор темы
Сообщения: 7
Зарегистрирован: 30 ноя 2009, 01:52
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Рисование квадрата AS3

Сообщение Александр » 24 дек 2009, 23:23

Событие MOUSE_DOWN - сохраняешь начальные координаты прямоугольника (координаты мыши).


Событие MOUSE_UP - рисуешь прямоугольник. Ширина и длина определяются вычитанием начальных координат из текущих.
Часть кода:
drawRect(x_start, y_start, mouseX-x_start, mouseY-y_start);
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

Re: Рисование квадрата AS3

Сообщение irakezz » 25 дек 2009, 08:25

mouseX-x_start, mouseY-y_start

В том то и дело что он ругается на не числовые значения
irakezz

 
Автор темы
Сообщения: 7
Зарегистрирован: 30 ноя 2009, 01:52
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Рисование квадрата AS3

Сообщение Александр » 25 дек 2009, 15:15

Как и на что ругается? Всё должно работать. Напиши здесь полный код, который у тебя не работает.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

Re: Рисование квадрата AS3

Сообщение irakezz » 25 дек 2009, 15:59

Я по разному пробовал! в данный момент код выглядит так:

private function RectangleTool(e:MouseEvent):void {
         quitActiveTool();
         active="Rect";
         board.addEventListener(MouseEvent.MOUSE_DOWN, startRectangle);
         board.addEventListener(MouseEvent.MOUSE_UP, stopRectangle);
         board.cursor.visible = true;
         board.cursor_txt.visible = false;
         highlightTool(Rect);
         hideTools(eraser, txt);
         
      }
      private function startRectangle(e:MouseEvent):void {
         var drawRect = new Shape();
         board.addChild(drawRect);
         drawRect.graphics.moveTo(mouseX, mouseY);
         drawRect.graphics.beginFill(FillActiveColor);
         drawRect.graphics.lineStyle(shapeSize.width, LineActiveColor);
         board.addEventListener(MouseEvent.MOUSE_MOVE, drawPencilTool);
      }

      private function drawRectangle(e:MouseEvent):void {
         drawRect.graphics.drawRect(x_start, y_start, mouseX-x_start, mouseY-y_start);
      }

      private function stopRectangle(e:MouseEvent):void {
         board.removeEventListener(MouseEvent.MOUSE_MOVE, drawRectangle);
      }

Rect.addEventListener(MouseEvent.MOUSE_UP, RectangleTool);
irakezz

 
Автор темы
Сообщения: 7
Зарегистрирован: 30 ноя 2009, 01:52
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Рисование квадрата AS3

Сообщение Александр » 25 дек 2009, 17:58

Не понял я твой алгоритм...
Если нужно просто нарисовать прямоугольник, как было написано в первом сообщении, то всё гораздо проще.
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseReleasedHandler);

var x_start;
var y_start;
   
function mouseDownHandler(e:MouseEvent):void {
   x_start = mouseX;
   y_start = mouseY;
}

function mouseReleasedHandler(e:MouseEvent):void {
   graphics.beginFill(0x36638E);
   graphics.drawRect(x_start, y_start, mouseX-x_start, mouseY-y_start);
   graphics.endFill();
}
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.


  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в Программирование на Flash



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron