Показать сообщение отдельно
Старый 02.12.2012, 11:50
XMON вне форума Посмотреть профиль Отправить личное сообщение для XMON Найти все сообщения от XMON
  № 1  
Ответить с цитированием
XMON

Регистрация: Aug 2012
Сообщений: 145
По умолчанию startDrag и stopDrag

сразу скажу, что я недавно начал изучать классы, и столкнулся с проблемой.
вот код:
Код AS1/AS2:
package  {
   import flash.display.MovieClip;
   import flash.events.MouseEvent;
 
   public class GUNS extends MovieClip {
 
      public function GUNS() 
      {
         this.addEventListener(MouseEvent.MOUSE_DOWN, mDown);
         this.addEventListener(MouseEvent.MOUSE_UP, mUp);
      }
      public function mDown(e:MouseEvent):void
        {
           this.startDrag(true);
        }
      public function mUp(e:MouseEvent):void
        {
           this.stopDrag();
        }
   }
 
}
в этом коде я пытаюсь сделать так, чтоб объект, по зажиманию мыши следовал за ней, а по отпусканию мыши, объект остался в последних координатах, но при отпускании мыши объект все равно движется за мышкой.

мне посоветовали к mouse up дописать свойство stage, я дописал вот так:

Код AS3:
stage.addEventListener(MouseEvent.MOUSE_UP, mUp);
но выдает ошибку -

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at GUNS()
at Символ16()
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at shop_and_battle_fla::MainTimeline()

помогите реализовать мою идею.