Показать сообщение отдельно
Старый 04.05.2008, 18:42
8bit вне форума Посмотреть профиль Отправить личное сообщение для 8bit Найти все сообщения от 8bit
  № 96  
Ответить с цитированием
8bit

Регистрация: Mar 2008
Сообщений: 30
Непонимаю почему в примерах автора код приведенный ниже работает, а у меня нет.

Call to a possibly undefined method startDrag through a reference with static type flash.displayisplayObjectContainer.

Покапавшись в теме, узнал что надо приводить к типу MovieClip(parent as MovieClip)
код скомпеллировался, но пределы перетаскивания остались не изменились, тоже самое наблюдается и без .parent Да и опятьже почему у меня надо приводить, а у автора и так все нормально

Код:
package main {
	import flash.display.MovieClip;
	import flash.events.*;
	import flash.geom.Rectangle;

	public class background extends MovieClip {

		public function background() {
			parent.addEventListener(MouseEvent.MOUSE_DOWN, handleMouseDown);
			stage.addEventListener(MouseEvent.MOUSE_UP, handleMouseUp);
			stage.addEventListener(Event.MOUSE_LEAVE, handleMouseLeave);
		}

		function handleMouseDown(event:Event):void {
			var dx:Number = width-stage.stageWidth;
			var dy:Number = height-stage.stageHeight;
			var dragRect:Rectangle = new Rectangle(-dx,-dy, dx,dy);
			parent.startDrag(false, dragRect);
		}
		function handleMouseUp(event:Event):void {
			parent.stopDrag();
		}
		
		function handleMouseLeave(event:Event):void {
			parent.stopDrag();
		}
		
	}
}