|
|
|||||
[+1 28.12.10]
[+1 29.12.10] Регистрация: Aug 2006
Сообщений: 107
|
wrapper + получения координать мыши
Здравствуйте.
Есть обьект "А" который не находится непосредственно на stage. На нем висит слушатель MouseEvent.MOUSE_UP. На Обьекте А есть обьект Б. Если нажать мышькой на обьекте Б то, MouseEvent.localX и MouseEvent.localY показывают x и y по отношению к обьекту Б. Придумал другие варианты решения проблемы но, когда загружаешь под wrapper они все начинают работать не правильно. А мне всего лишь нужно узнать на какую x,y обьекта А нажали мышкой(даже если перед обьектом А в эом месте стоит другой обьект). один из решений такой function down(e:MouseEvent):void { var lx:int = e.localX; var ly:int = e.localY; var obj:DisplayObject = DisplayObject(e.target); while (obj != e.currentTarget) { lx += obj.x; ly += obj.y; obj = obj.parent; } Попытки с ориентироваться по e.stageX работают не правильно, при запуске под wrapper c измененным маштабом браузера. Надоело изобретать велосипет. Как с этим боротся? Последний раз редактировалось passertm; 04.01.2011 в 23:39. |
|
|||||
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Не понятно в чем проблема.
|
|
|||||
[+1 28.12.10]
[+1 29.12.10] Регистрация: Aug 2006
Сообщений: 107
|
хм... А почему попала только половина сообшения?
Здравствуйте. Есть обьект "А" который не находится непосредственно на stage. На нем висит слушатель MouseEvent.MOUSE_UP. На Обьекте А есть обьект Б. Если нажать мышькой на обьекте Б то, MouseEvent.localX и MouseEvent.localY показывают x и y по отношению к обьекту Б. Придумал другие варианты решения проблемы но, когда загружаешь под wrapper они все начинают работать не правильно. А мне всего лишь нужно узнать на какую x,y обьекта А нажали мышкой(даже если перед обьектом А в эом месте стоит другой обьект). один из решений такой function down(e:MouseEvent):void { var lx:int = e.localX; var ly:int = e.localY; var obj:DisplayObject = DisplayObject(e.target); while (obj != e.currentTarget) { lx += obj.x; ly += obj.y; obj = obj.parent; } Попытки с ориентироваться по e.stageX работают не правильно, при запуске под wrapper c измененным маштабом браузера. Надоело изобретать велосипет. Как с этим боротся? |
|
|||||
[+1 28.12.10]
[+1 29.12.10] Регистрация: Aug 2006
Сообщений: 107
|
Прикрепил упрашенный вариант того о чем я говорю.
Работает нормально но, под wrapper с измененым маштабом браузера(на пример если 110% поставить) глючит. Набросано под cs4. Если укого нету cs4 вот скрипты var h:Sprite=new Sprite(); h.x=10; h.y=10; addChild(h); var s:Sprite=new Sprite(); s.addChild(new Bitmap(new f7(0,0))); s.width*=3; s.height*=3; s.x=30; s.y=20 h.addChild(s); var s2:Sprite=new Sprite(); s2.addChild(new Bitmap(new f8(0,0))); s2.x=230; s2.y=220 h.addChild(s2); var d:Sprite=new Sprite(); h.addChild(d); h.addEventListener(MouseEvent.MOUSE_DOWN, down); function down(e:MouseEvent):void { var lx:int; var ly:int; /* lx = e.localX; ly = e.localY; var obj:DisplayObject = DisplayObject(e.target); while (obj != e.currentTarget) { lx += obj.x; ly += obj.y; obj = obj.parent; }*/ var p:Point=e.currentTarget.localToGlobal(new Point(0,0)); lx=e.stageX-p.x; ly=e.stageY-p.y; d.graphics.lineStyle(5, 0x00ff00); d.graphics.moveTo(lx, ly); d.graphics.lineTo(lx+1, ly); } h- head(обший контейнер d-desc(то на чем рисуется) s,s2- просто спрайты для помех. |
Часовой пояс GMT +4, время: 22:54. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|