Показать сообщение отдельно
Старый 02.09.2010, 15:07
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 9  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
У меня сейчас случился разрыв шаблона. Я нечаянно узнал, что можно сделать так:

Код AS3:
package  
{
 
	import flash.display.Sprite;
 
	public interface INewInterface extends Sprite
	{
		function hello ( ):void;
	}
 
}
В Муке такого не было, что интерфейс может являться расширением не интерфейса, а конкретного класса.

В общем, если после этого в FD создать класс, назначить его расширением, например, Shape-а, потребовать реализовать INewInterface и поставить галку генерирования методов интерфейсной реализации, то он выдаст вот такую хрень - в общем я в легком шоке и пытаюсь осмыслить, что происходит)))

Код AS3:
package  
{
	import flash.events.Event;
	import flash.display.Stage;
	import flash.display.LoaderInfo;
	import flash.geom.Transform;
	import flash.geom.Vector3D;
	import flash.display.DisplayObjectContainer;
	import flash.display.Shader;
	import flash.accessibility.AccessibilityProperties;
	import flash.ui.ContextMenu;
	import flash.accessibility.AccessibilityImplementation;
	import flash.geom.Point;
	import flash.text.TextSnapshot;
	import flash.geom.Rectangle;
	import flash.display.Graphics;
	import flash.display.Sprite;
	import flash.media.SoundTransform;
	import flash.display.DisplayObject;
	import flash.display.Shape;
 
	public class InterfaceTest extends Shape implements NewInterface
	{
 
		public function InterfaceTest() 
		{
			super();
 
		}
 
		/* INTERFACE NewInterface */
 
		public function hello():void
		{
 
		}
 
		public function get dropTarget():DisplayObject
		{
 
		}
 
		public function get soundTransform():SoundTransform
		{
 
		}
 
		public function get hitArea():Sprite
		{
 
		}
 
		public function set buttonMode(value:Boolean):void
		{
 
		}
 
		public function get graphics():Graphics
		{
 
		}
 
		public function get useHandCursor():Boolean
		{
 
		}
 
		public function set hitArea(value:Sprite):void
		{
 
		}
 
		public function get buttonMode():Boolean
		{
 
		}
 
		public function stopDrag():void
		{
 
		}
 
		public function set useHandCursor(value:Boolean):void
		{
 
		}
 
		public function set soundTransform(sndTransform:SoundTransform):void
		{
 
		}
 
		public function startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void
		{
 
		}
 
		public function get mouseChildren():Boolean
		{
 
		}
 
		public function get numChildren():int
		{
 
		}
 
		public function contains(child:DisplayObject):Boolean
		{
 
		}
 
		public function swapChildrenAt(index1:int, index2:int):void
		{
 
		}
 
		public function getChildByName(name:String):DisplayObject
		{
 
		}
 
		public function removeChildAt(index:int):DisplayObject
		{
 
		}
 
		public function getChildIndex(child:DisplayObject):int
		{
 
		}
 
		public function addChildAt(child:DisplayObject, index:int):DisplayObject
		{
 
		}
 
		public function set tabChildren(enable:Boolean):void
		{
 
		}
 
		public function get textSnapshot():TextSnapshot
		{
 
		}
 
		public function swapChildren(child1:DisplayObject, child2:DisplayObject):void
		{
 
		}
 
		public function get tabChildren():Boolean
		{
 
		}
 
		public function getObjectsUnderPoint(point:Point):Array
		{
 
		}
 
		public function set mouseChildren(enable:Boolean):void
		{
 
		}
 
		public function removeChild(child:DisplayObject):DisplayObject
		{
 
		}
 
		public function getChildAt(index:int):DisplayObject
		{
 
		}
 
		public function addChild(child:DisplayObject):DisplayObject
		{
 
		}
 
		public function areInaccessibleObjectsUnderPoint(point:Point):Boolean
		{
 
		}
 
		public function setChildIndex(child:DisplayObject, index:int):void
		{
 
		}
 
		public function get accessibilityImplementation():AccessibilityImplementation
		{
 
		}
 
		public function get focusRect():Object
		{
 
		}
 
		public function set focusRect(focusRect:Object):void
		{
 
		}
 
		public function get doubleClickEnabled():Boolean
		{
 
		}
 
		public function set contextMenu(cm:ContextMenu):void
		{
 
		}
 
		public function get tabEnabled():Boolean
		{
 
		}
 
		public function get contextMenu():ContextMenu
		{
 
		}
 
		public function set accessibilityImplementation(value:AccessibilityImplementation):void
		{
 
		}
 
		public function set doubleClickEnabled(enabled:Boolean):void
		{
 
		}
 
		public function set mouseEnabled(enabled:Boolean):void
		{
 
		}
 
		public function set tabIndex(index:int):void
		{
 
		}
 
		public function get mouseEnabled():Boolean
		{
 
		}
 
		public function get tabIndex():int
		{
 
		}
 
		public function set tabEnabled(enabled:Boolean):void
		{
 
		}
 
		public function get visible():Boolean
		{
 
		}
 
		public function get rotation():Number
		{
 
		}
 
		public function localToGlobal(point:Point):Point
		{
 
		}
 
		public function get name():String
		{
 
		}
 
		public function set width(value:Number):void
		{
 
		}
 
		public function globalToLocal(point:Point):Point
		{
 
		}
 
		public function get blendMode():String
		{
 
		}
 
		public function get scale9Grid():Rectangle
		{
 
		}
 
		public function set name(value:String):void
		{
 
		}
 
		public function get rotationX():Number
		{
 
		}
 
		public function get rotationY():Number
		{
 
		}
 
		public function set scaleX(value:Number):void
		{
 
		}
 
		public function set scaleY(value:Number):void
		{
 
		}
 
		public function set scaleZ(value:Number):void
		{
 
		}
 
		public function get accessibilityProperties():AccessibilityProperties
		{
 
		}
 
		public function set scrollRect(value:Rectangle):void
		{
 
		}
 
		public function get rotationZ():Number
		{
 
		}
 
		public function get height():Number
		{
 
		}
 
		public function set blendMode(value:String):void
		{
 
		}
 
		public function set scale9Grid(innerRectangle:Rectangle):void
		{
 
		}
 
		public function getBounds(targetCoordinateSpace:DisplayObject):Rectangle
		{
 
		}
 
		public function set blendShader(value:Shader):void
		{
 
		}
 
		public function get opaqueBackground():Object
		{
 
		}
 
		public function get parent():DisplayObjectContainer
		{
 
		}
 
		public function get cacheAsBitmap():Boolean
		{
 
		}
 
		public function set rotationX(value:Number):void
		{
 
		}
 
		public function set rotationY(value:Number):void
		{
 
		}
 
		public function set rotationZ(value:Number):void
		{
 
		}
 
		public function local3DToGlobal(point3d:Vector3D):Point
		{
 
		}
 
		public function set alpha(value:Number):void
		{
 
		}
 
		public function globalToLocal3D(point:Point):Vector3D
		{
 
		}
 
		public function set accessibilityProperties(value:AccessibilityProperties):void
		{
 
		}
 
		public function get width():Number
		{
 
		}
 
		public function hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
		{
 
		}
 
		public function set cacheAsBitmap(value:Boolean):void
		{
 
		}
 
		public function get scaleX():Number
		{
 
		}
 
		public function get scaleY():Number
		{
 
		}
 
		public function get scaleZ():Number
		{
 
		}
 
		public function get scrollRect():Rectangle
		{
 
		}
 
		public function get mouseX():Number
		{
 
		}
 
		public function get mouseY():Number
		{
 
		}
 
		public function set height(value:Number):void
		{
 
		}
 
		public function set mask(value:DisplayObject):void
		{
 
		}
 
		public function getRect(targetCoordinateSpace:DisplayObject):Rectangle
		{
 
		}
 
		public function get alpha():Number
		{
 
		}
 
		public function set transform(value:Transform):void
		{
 
		}
 
		public function get loaderInfo():LoaderInfo
		{
 
		}
 
		public function get root():DisplayObject
		{
 
		}
 
		public function set visible(value:Boolean):void
		{
 
		}
 
		public function set opaqueBackground(value:Object):void
		{
 
		}
 
		public function hitTestObject(obj:DisplayObject):Boolean
		{
 
		}
 
		public function get mask():DisplayObject
		{
 
		}
 
		public function set x(value:Number):void
		{
 
		}
 
		public function set y(value:Number):void
		{
 
		}
 
		public function get transform():Transform
		{
 
		}
 
		public function set z(value:Number):void
		{
 
		}
 
		public function set filters(value:Array):void
		{
 
		}
 
		public function get x():Number
		{
 
		}
 
		public function get y():Number
		{
 
		}
 
		public function get z():Number
		{
 
		}
 
		public function get filters():Array
		{
 
		}
 
		public function set rotation(value:Number):void
		{
 
		}
 
		public function get stage():Stage
		{
 
		}
 
		public function dispatchEvent(event:Event):Boolean
		{
 
		}
 
		public function willTrigger(type:String):Boolean
		{
 
		}
 
		public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
		{
 
		}
 
		public function toString():String
		{
 
		}
 
		public function hasEventListener(type:String):Boolean
		{
 
		}
 
		public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
		{
 
		}
 
	}
 
}
__________________
скриптограф