又有好长时间不摸flash了,本打算把《flash编程与创意实现》这本书中的第九章关与着色类修改完毕的,这下死翘翘了。
我想把setGRG()这个方面直接加到MovieClip类中,在flashMX版本中可以用prototype属性接直把setRGB()加进MovieClip类中,但是在flash8中却不能这么干了,后来就想耍一下小聪明,想把自定义方法直接加到MovieClip.as中,辛辛苦苦找到flash8安装地址中的VovieClip.as文件,但是打开一看,再次失望,里面全是一些接口,压跟看不看MovieClip类中那些方法的实现:
//****************************************************************************
// ActionScript Standard Library
// Movie Clip object
//****************************************************************************
import flash.display.BitmapData;
import flash.geom.Matrix;
import flash.geom.Rectangle;
import flash.geom.Transform;
dynamic intrinsic class MovieClip
{
var _alpha:Number;
var _currentframe:Number;
var _droptarget:String;
var _focusrect:Boolean;
var _framesloaded:Number;
var _height:Number;
var _highquality:Number;
var _lockroot:Boolean;
var _name:String;
var _parent:MovieClip;
var _quality:String;
var _rotation:Number;
var _soundbuftime:Number;
var _target:String;
var _totalframes:Number;
var _url:String;
var _visible:Boolean;
var _width:Number;
var _x:Number;
var _xmouse:Number;
var _xscale:Number;
var _y:Number;
var _ymouse:Number;
var _yscale:Number;
var scale9Grid:Rectangle;
var enabled:Boolean;
var focusEnabled:Boolean;
var hitArea:Object;
var menu:ContextMenu;
var tabChildren:Boolean;
var tabEnabled:Boolean;
var tabIndex:Number;
var tooltipText:String; // Central API
var trackAsMenu:Boolean;
var useHandCursor:Boolean;
var cacheAsBitmap:Boolean;
var filters:Array;
var opaqueBackground:Number;
var scrollRect:Object;
var transform:Transform;
var blendMode:Object;
function attachAudio(id:Object):Void;
function attachBitmap(bmp:BitmapData, depth:Number, pixelSnapping:String, smoothing:Boolean):Void;
function attachMovie(id:String,name:String,depth:Number,initObject:Object):MovieClip;
function clear():Void;
function createEmptyMovieClip(name:String,depth:Number):MovieClip;
function beginBitmapFill(bmp:BitmapData, matrix:Matrix, repeat:Boolean, smoothing:Boolean):Void;
function beginFill(rgb:Number,alpha:Number):Void;
function beginGradientFill(fillType:String,colors:Array,alphas:Array,ratios:Array,matrix:Object,spreadMethod:String,interpolationMethod:String,focalPointRatio:Number):Void;
function lineGradientStyle(fillType:String,colors:Array,alphas:Array,ratios:Array,matrix:Object,spreadMethod:String,interpolationMethod:String,focalPointRatio:Number):Void;
function createTextField(instanceName:String,depth:Number,x:Number,y:Number,width:Number,height:Number):TextField;
function curveTo(controlX:Number,controlY:Number,anchorX:Number,anchorY:Number):Void;
function duplicateMovieClip(name:String,depth:Number,initObject:Object):MovieClip;
function endFill():Void;
function getBounds(bounds:Object):Object;
function getRect(bounds:Object):Object;
function getBytesLoaded():Number;
function getBytesTotal():Number;
function getDepth():Number;
function getInstanceAtDepth(depth:Number):MovieClip;
function getNextHighestDepth():Number;
function getSWFVersion():Number;
function getTextSnapshot():TextSnapshot;
function getURL(url:String,window:String,method:String):Void;
function globalToLocal(pt:Object):Void;
function gotoAndPlay(frame:Object):Void; // frame can be String or Number
function gotoAndStop(frame:Object):Void; // frame can be String or Number
function hitTest():Boolean; // arguments can be either target or x/y/shapeFlag
function lineStyle(thickness:Number,rgb:Number,alpha:Number,pixelHinting:Boolean,noScale:String,capsStyle:String,jointStyle:String,miterLimit:Number):Void;
function lineTo(x:Number,y:Number):Void;
function loadMovie(url:String,method:String):Void;
function loadVariables(url:String,method:String):Void;
function localToGlobal(pt:Object):Void;
function moveTo(x:Number,y:Number):Void;
function nextFrame():Void;
function play():Void;
function prevFrame():Void;
function removeMovieClip():Void;
function setMask(mc:Object):Void;
function startDrag(lockCenter:Boolean,left:Number,top:Number,right:Number,bottom:Number):Void;
function stop():Void;
function stopDrag():Void;
function swapDepths(target:Object):Void;
function unloadMovie():Void;
function valueOf():MovieClip;
function onData():Void;
function onDragOut():Void;
function onDragOver():Void;
function onEnterFrame():Void;
function onKeyDown():Void;
function onKeyUp():Void;
function onKillFocus(newFocus:Object):Void;
function onLoad():Void;
function onMouseDown():Void;
function onMouseMove():Void;
function onMouseUp():Void;
function onPress():Void;
function onRelease():Void;
function onReleaseOutside():Void;
function onRollOut():Void;
function onRollOver():Void;
function onSetFocus(oldFocus:Object):Void;
function onUnload():Void;
}
由此可以更定MovieClip类一定有与它相关的内联文件,但是我没找到,至此,我的计划宣告流产。看来只能新建movieClip类的的子类了。









