Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Слушатель событий, помогите (http://www.flasher.ru/forum/showthread.php?t=156898)

Termin 28.05.2011 17:29

Слушатель событий, помогите
 
Всем привет, столкнулся с проблемой, возможно от не достаточных знаний. Помогите дописать кусочек кода, не могу разобраться, вот собственно кусок кода из класса вопрос будет ниже:
Код AS3:

private function moveParticle(e:Event):void {
                        //addEventListener(MouseEvent.MOUSE_DOWN, moveParticleTo);
                        for each (var item:Particle in particles) {
                                var dir:Number=item.rotation;
                                var point:Point=item.globalToLocal(new Point(stage.mouseX,stage.mouseY));
 
                                if (point.y>=0) {
                                        item.rotation+=item.speedRotation;
                                } else {
                                        item.rotation-=item.speedRotation;
                                }
 
                                //function moveParticleTo(e:MouseEvent):void {
                                        item.x+=Math.cos(dir*Math.PI/180)*item.speedParticle;
                                        item.y+=Math.sin(dir*Math.PI/180)*item.speedParticle;
                                //}
                        }
 
                }

Что делает данный кусок кода: управляет ранее созданными частицами закинутые в массив, каждая из которых поварачиваеться к курсору мышки и стремиться к ней.
addEventListener(Event.ENTER_FRAME, moveParticle) - Это чтоб было понятно что эта функция прикреплена к этому слушателю событий.

В общем вопрос такой, этот кусочек постоянно следит за курсором мыши 12 раз в секунду т.к. ENTER_FRAME.
Я хотел бы чтоб гвигались элементы не всегда за курсором мыши, а именно туда где я нажал бы мышкой.

Очень был бы благодарен, голова чет раскипелась))) Если будут вопросы по коду, то я все обьясню, что чего значит) Спасибо!)

КорДум 28.05.2011 17:35

Код AS3:

var point:Point=item.globalToLocal(new Point(stage.mouseX,stage.mouseY));

Вместо самих координат мышки подставляйте переменные, в которые запоминайте координаты мышки при клике.

Termin 28.05.2011 17:51

Ха, спасибо!!! все проще чем кажеться, точно голова кипит просто, нужно отдахнуть)))
Чтото типо
Код:

addEventListener(MouseEvent.MOUSE_DOWN, www)

                private function www (e:MouseEvent):void{
                        elX = stage.mouseX
                        elY = stage.mouseY
}

и тут
Код:

var point:Point=item.globalToLocal(new Point(elX,elY))
Чегото явно нехватает... В общем получилось так что когда я нажимаю да уже движееся элемент, тогда частици кружаться вокруг этой точки :D Что тут не так


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

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