Форум 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=129180)

p0okm 26.08.2009 15:18

Класс из внешнего файла...
 
На этом сайте http://siliren.ru/content/view/114/1/ нашёл пример как сделать управление объектом используя внешний класс. Попробовал повторить только вместо клавиш использовать мышь.
Создал два класса основной и класс управления мышью.
Код AS3:

package 
{
          import flash.events.*;
            import flash.display.*;
 
      public class Mysha02 extends MovieClip
          {                 
                public var ker_mouse:Mysha05;
                var kolo:MovieClip;
 
                    public function Mysha02()
                  {
                            kolo = new MovieClip();
                            kolo.graphics.lineStyle(1, 0xFF0000);
                            kolo.graphics.beginFill( 0xFF00FF );
                            kolo.graphics.drawCircle( 0, 0, 30);
                            addChild(kolo);
                            var obekt = new MovieClip();
                            addChild(obekt);
                            ker_mouse = new Mysha05(obekt);
                            stage.addEventListener(Event.ENTER_FRAME,on_enter_frame);
                  }
 
                    public function on_enter_frame(event:Event)
                  {
                                  kolo.x = move_Mysha.koor_x();
                                kolo.y = move_Mysha.koor_y();
                  }
          }
}

Код AS3:

package  
{
          import flash.events.MouseEvent;
            import flash.display.*;
 
      public class Mysha05 extends MovieClip
          {                 
                          private var koor_x;
                        private var koor_y;
 
                    public function Mysha05(pole)
                  {
                    pole.stage.addEventListener(MouseEvent.MOUSE_MOVE, move_Mysha);
                  }
                    public function move_Mysha (event:MouseEvent):void
                  {
                              koor_x = mouseX;
                        koor_y = mouseY;
                  }                   
          }
}

И никак не могу разобраться почему не работает:eek:

etc 26.08.2009 17:52

А теперь построчно расскажите, что делает ваш код.

p0okm 26.08.2009 18:24

В файле Mysha05 формируется класс который по перемещению мыши закидывает в переменные koor_x и koor_y координаты курсора мыши.
В основном классе формируется круг и добавляется в сцену, после чего формируется
новый слой который должен стать слушателем события MOUSE_MOVE передаваемого из класса Mysha05 через функцию move_Mysha.
Вот так :rolleyes:


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

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