Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как для Shape обновить координаты? (http://www.flasher.ru/forum/showthread.php?t=100549)

alien54 30.08.2007 01:33

Как для Shape обновить координаты?
 
Есть Shape, перетаскиваю ее в другое место, а она возвращается обратно, что делать?

baron27 30.08.2007 12:34

чем перетаскиваешь?

alien54 30.08.2007 19:32

я рисую в канвасе объект, потом делаю его трансформацию, например при смещении его translate, все ок, далее когда пытаюсь применить matrix transform он возвращается в исходное положение, как был до перемещения.

alien54 30.08.2007 19:57

event.updateAfterEvent(); не помогает

silin 30.08.2007 20:35

пример нужен..
догадаться что ты в действительности делаешь тяжело..

alien54 30.08.2007 20:40

Код:

       
  private function setScale(bounds:Rectangle):void {
                        var matrixMy:Matrix = new Matrix();
                        var oldX:Number=bounds.x+parentApplication.pathDelClip.width/2;
                        var oldY:Number=bounds.y+parentApplication.pathDelClip.height/2;
                        matrixMy.translate(-oldX,-oldY);
                        if((bounds.width>50)&&(bounds.height>50)&&(bounds.x>0)&&(bounds.y>0)&&(bounds.x+bounds.width<583)&&(bounds.y+bounds.height<397)){
                                matrixMy.scale((this.mouseX/offSetXO),(this.mouseY/offSetYO));
                                matrixMy.translate(oldX,oldY);
                                parentApplication.pathDelClip.transform.matrix=matrixMy;
                                setRezMask(parentApplication.pathDelClip.getBounds(parentApplication.draw_canvas));
                                endPoint(parentApplication.pathDelClip.getBounds(parentApplication.draw_canvas));
                        }else{
                                flagStartDrag=false;
                        }
                }

вот так я трансформирую, тоесть питаюсь изменить размеры шейпа...

silin 30.08.2007 20:54

попробуй трансформировать именно матрицу твоего объекта, а не вновь созданную:
var matrixMy:Matrix = parentApplication.pathDelClip.transform.matrix;//new Matrix();

зы: неужели трудно дать пример локализованной проблемы, который можно запустить и потестить, при чем здесь setRezMask, endPoint.., что за parentApplication.pathDelClip и пр.
несерьезно ждать уважительного отношения к своей проблеме, даже не потрудившись нормально ее сформулировать..

alien54 30.08.2007 21:14

просто там много кода, и хотелось узнать направление куда двигатся...

miramax 30.08.2007 23:28

ты чего, прямо в graphics канваса это рисуешь ??

alien54 01.09.2007 12:05

...нет, канвас внешний контейнер.
Вариант с трансформацией собственной матрицы с объектами помог.
Спасибо.


Часовой пояс GMT +4, время: 17:10.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.