/cutload/CutLoad/Base.as
ActionScript | 453 lines | 222 code | 5 blank | 226 comment | 12 complexity | 37a9e3fa9514776b2048648f003b7b95 MD5 | raw file
- package CutLoad
- {
- import CutLoad.cookies.Fun;
- import CutLoad.transitions.ITransition;
- import CutLoad.transitions.SpringMove;
- import CutLoad.transitions.TransitionsData;
-
-
- import flash.display.BitmapData;
- import flash.display.DisplayObject;
- import flash.display.Graphics;
- import flash.display.MovieClip;
- import flash.display.Sprite;
- import flash.geom.Point;
- import flash.geom.Rectangle;
- import flash.system.ApplicationDomain;
-
- /**
- * ??, ???Sprite?????,??cutload?????????????????cutload?????????????????????????cutload????????????
- * @author smallerbird mail:smallerbird@gmail.com site:www.mkigm.com QQ?:49983196
- *
- */
- public class Base extends Sprite implements IBase
- {
- /**
- *????????x
- */
- protected var LastX:Number=0
- /**
- *????????y
- */
- protected var LastY:Number=0;
- /**
- * ??????
- */
- protected var _objOtherInfo:Object=new Object();
- //??
- protected var transitions_movexy:ITransition;
- /**
- * ????????Base,????????Base,?????????
- * @param displayObj
- * @return
- *
- */
- public static function getBase(displayObj:DisplayObject):Base{
- var baseTem:Base=new Base();
- baseTem.addChild(displayObj);
- return baseTem;
- }
- /**
- * ???????????? ???,?????????
- * @param p_name
- * @return
- *
- */
- public static function getStrClassObject(p_name : String,applicationDomain:ApplicationDomain=null):Object
- {
- try
- {
- if(applicationDomain==null) applicationDomain=ApplicationDomain.currentDomain
- var myclass:Class=applicationDomain.getDefinition(p_name) as Class;
- return new myclass();
- }
- catch (p_e : ReferenceError)
- {
- throw new Error("?? " + p_name + " ???");
- return null;
- }
- return null;
- }
- /**
- * ???????????MovieClip??? ,????Base
- * @param p_name
- * @return
- *
- */
- public static function getStrClassMc(p_name : String):Base{
- return Base.getBase(getMcFromStrClass(p_name));
- }
- /**
- * ???????????MovieClip???
- * @return
- *
- */
- public static function getMcFromStrClass(p_name:String):MovieClip{
- var obj:Object=getStrClassObject(p_name);
- return obj as MovieClip;
- }
- /**
- * ??class
- * @param p_name
- * @return
- *
- */
- public static function getStrClass(p_name : String):Class
- {
- try
- {
- var myclass:Class=ApplicationDomain.currentDomain.getDefinition(p_name) as Class;
- return myclass;
- }
- catch (p_e : ReferenceError)
- {
- throw new Error("?? " + p_name + " ???");
- return null;
- }
- return null;
- }
- /**
- * ???????MovieClip??
- * @param linkName
- * @return
- *
- */
- public static function attachMovie(linkName:String):MovieClip{
- var mc:MovieClip=Base.getStrClassObject(linkName) as MovieClip;
- return mc
- }
- /**
- * ???????BitmapData??
- * @param linkName
- * @return
- *
- */
- public static function attachBitmap(linkName:String):BitmapData{
- var mc:BitmapData=Base.getStrClassObject(linkName) as BitmapData;
- return mc
- }
- /**
- * ????????BitmapData????????
- * @return
- *
- */
- public function photoMe():BitmapData{
- var img:BitmapData=new BitmapData(this.getShowWidth(),this.getShowHeight(),true,0xffffff);
- img.draw(this);
- return img;
- }
- /**
- * ????
- *
- */
- public function killMe():void{
- if(this.parent!=null) this.parent.removeChild(this);
- }
- /**
- * ?addChilde????????????????????????????????????????????????????????? addChildExpand(??1).addChildExpand(??2).addChildExpand(??3)
- * @param child
- * @param xx ???-10000 ?????
- * @param yy
- * @return
- *
- */
- public function addChildExpand(child:DisplayObject,xx:Number=-10000,yy:Number=-10000):Base{
- this.addChild(child);
- if(xx!=-10000) child.x=xx;
- if(yy!=-10000) child.y=yy;
- return this;
- }
- /**
- * ????????,????????????????????????????????????????appendOtherInfo
- * @param obj
- *
- */
- public function setOtherInfo(obj:Object):void{
- _objOtherInfo=obj;
- }
- /**
- * ???????????
- *
- */
- public function appendOtherInfo(obj:Object):void{
- Fun.appendObj(obj,_objOtherInfo);
- }
- /**
- * ???????? ? getOtherInfo()????
- * @return
- *
- */
- public function get objOtherInfo():Object{
- return _objOtherInfo;
- }
- /**
- * ????????
- * @return
- *
- */
- public function getOtherInfo():Object{
- return _objOtherInfo;
- }
- /**
- * ????
- * @param x
- * @param y
- * @param parent ??????????????null
- * @param transitions ????
- *
- */
- public function setXY(x:Number,y:Number,myParent:Sprite=null,transitions:ITransition=null):void
- {
- //
- setLastXY(this.x,this.y)
- //
- //????
- //????????
- if(transitions_movexy!=null) transitions_movexy.stop();
- //??????
- if(transitions!=null){
- var tdata:TransitionsData=new TransitionsData();
- tdata.target=this;
- tdata.x=x;
- tdata.y=y;
- transitions_movexy=transitions.clone(tdata);
- transitions_movexy.start(tdata);
- }else{
- this.x=x;
- this.y=y;
- }
- if(myParent!=null) this.show(myParent);
-
- }
- /**
- * ????
- * @param point
- * @param myParent
- *
- */
- public function setXYPoint(point:Point,myParent:Sprite=null):void{
- setXY(point.x,point.y,myParent);
- }
- /**
- * ????????????
- * @param t 0??,1??,2??,3??,4??,5??,6??,7??,8??
- * @param base ???????????????
- * @return
- *
- */
- public function followMe(t:Number,base:Base=null):Point{
- var atPoint:Point;
- switch(t){
- case 1:
- atPoint=new Point(x,y);
- break;
- case 2:
- atPoint=this.getXYUpCenter();
- break;
- case 3:
- atPoint=this.getXYRightUp();
- break;
- case 4:
- atPoint=this.getXYRightCenter();
- break;
- case 5:
- atPoint=this.getXYRightDown();
- break;
- case 6:
- atPoint=this.getXYDownCenter()
- break;
- case 7:
- atPoint=this.getXYLeftDown();
- break;
- case 8:
- atPoint=this.getXYLeftCenter();
- break;
- default:
- atPoint=this.getXYCenter();
- break;
- }
- if(base!=null) base.setXYPoint(atPoint);
- return atPoint;
- }
- /**
- * ????????????????
- * @param xx
- * @param yy
- * @return
- *
- */
- public function compareLastXY(xx:Number,yy:Number):Boolean{
- if(xx==this.LastX&&yy==this.LastY) return true;
- return false;
- }
- /**
- * ???????????
- *
- */
- public function resetLastXY():void{
- this.setXY(this.LastX,this.LastY);
- }
- /**
- * ??lastX lastY
- * @param xx
- * @param yy
- *
- */
- public function setLastXY(xx:Number,yy:Number):void{
- this.LastX=xx;
- this.LastY=yy;
- }
- /**
- * ????
- * @param w ?
- * @param h ?
- *
- */
- public function setWH(w:Number=0,h:Number=0):void{
- if(w!=0) this.width=w;
- if(h!=0) this.height=h;
- }
- /**
- * ????,?????????IBase???getShowWidth() ? getShowHeight() ????
- * @param base
- *
- */
- public function setWHFormBase(base:IBase):void{
- setWH(base.getShowWidth(),base.getShowHeight())
- }
- /**
- * ???????????
- * @param a
- *
- */
- public function setAlpha(a:Number):void{
- this.alpha=a;
- }
- /**
- * ??????????
- * @param parent ??????
- *
- */
- public function show(parent:Sprite):void{
- if(this.parent!=null){
- trace("??:Base.show()???parent!=null!!");
- return;
- }
- parent.addChild(this);
- }
- /**
- * ???????
- * @return
- *
- */
- public function getShowWidth():Number
- {
- return this.width;
- }
- /**
- * ???????
- * @return
- *
- */
- public function getShowHeight():Number
- {
- return this.height;
- }
- /**
- * ????????
- * @return
- *
- */
- public function getXYRightUp():Point{
- return new Point(x+getShowWidth(),y);
- }
- /**
- * ????????
- * @return ??:{x:xx,y:yy}
- *
- */
- public function getXYRightDown():Point{
- return new Point(x+getShowWidth(),y+getShowHeight());
- }
- /**
- * ????????
- * @return ??:{x:xx,y:yy}
- *
- */
- public function getXYLeftDown():Point{
- return new Point(x,y+getShowHeight());
- }
- /**
- * ?????
- * @return
- *
- */
- public function getXYUpCenter():Point{
- return new Point(x+getShowWidth()/2,y);
- }
- /**
- * ?????
- * @return
- *
- */
- public function getXYRightCenter():Point{
- return new Point(x+getShowWidth(),y+this.getShowHeight()/2);
- }
- /**
- * ?????
- * @return
- *
- */
- public function getXYDownCenter():Point{
- return new Point(x+getShowWidth()/2,y+this.getShowHeight());
- }
- /**
- * ?????
- * @return
- *
- */
- public function getXYLeftCenter():Point{
- return new Point(x,y+this.getShowHeight()/2);
- }
- /**
- * ?????
- * @return
- *
- */
- public function getXYCenter():Point{
- return new Point(x+getShowWidth()/2,y+this.getShowHeight()/2);
- }
- /**
- * ?point??????????
- * @param point
- * @param myParent
- *
- */
- public function setPosition(point:Point,myParent:Sprite=null):void{
- this.setXY(point.x,point.y,myParent);
- }
- /**
- * ????Point??
- * @return
- *
- */
- public function getPosition():Point{
- return new Point(x,y);
- }
- /**
- * ????? Rectangle??
- * @return
- *
- */
- public function getRectInfo():Rectangle{
- return new Rectangle(x,y,this.getShowWidth(),this.getShowHeight()) ;
- }
- /**
- * ????
- *
- */
- public function printInfon():void{
-
- }
- }
- }