中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁(yè) > 技術(shù)文檔 > 多媒體制作 > AS3自寫(xiě)類(lèi)整理筆記:Dot類(lèi)
Silverlight制作逐幀動(dòng)畫(huà) 回到列表 AS3自寫(xiě)類(lèi)整理筆記:類(lèi)的分包處理
 AS3自寫(xiě)類(lèi)整理筆記:Dot類(lèi)

作者:iamsun1550 時(shí)間: 2008-04-22 文檔類(lèi)型:原創(chuàng) 來(lái)自:藍(lán)色理想

第 1 頁(yè) Dot類(lèi) [1]
第 2 頁(yè) Dot類(lèi) [2]

舉例:

上面的flash展示源代碼:

import index.base.geom.Dot;
import index.base.events.DotEvent;

var po1:Dot = new Dot(0,0,true);
var po2:Dot = new Dot(0,0,true);
po1.bind(p1,true);
po2.bind(p2,true);

po1.addEventListener(DotEvent.DOT_CHANGE,dotChangeFun);
po2.addEventListener(DotEvent.DOT_CHANGE,dotChangeFun);

function dotChangeFun(e:DotEvent):void{
  te.text = "物體1坐標(biāo):" + po1.x + "," + po1.y;
  te.appendText("\n物體2坐標(biāo):" + po2.x + "," + po2.y);
  te.appendText("\n兩點(diǎn)之間距離:" + po1.from(po2));
  te.appendText("\n所形成的角度:" + po1.angle(po2));
  te.appendText("\n物體1所在象限:" + po1.quadrant(new Dot,false));
  te.appendText("\n物體2所在象限:" + po2.quadrant(new Dot,false));
  te.appendText("\n物體1對(duì)于物體2在象限:" + po2.quadrant(po1));
}

p1.addEventListener(MouseEvent.MOUSE_DOWN,p1MouseDownFun);
p2.addEventListener(MouseEvent.MOUSE_DOWN,p2MouseDownFun);

function p1MouseDownFun(e:MouseEvent):void{
  p1.startDrag();
  stage.addEventListener(MouseEvent.MOUSE_UP,p1MouseUpFun);
}

function p1MouseUpFun(e:MouseEvent):void{
  p1.stopDrag();
  stage.removeEventListener(MouseEvent.MOUSE_UP,p1MouseUpFun);
}

function p2MouseDownFun(e:MouseEvent):void{
  p2.startDrag();
  stage.addEventListener(MouseEvent.MOUSE_UP,p2MouseUpFun);
}

function p2MouseUpFun(e:MouseEvent):void{
  p2.stopDrag();
  stage.removeEventListener(MouseEvent.MOUSE_UP,p2MouseUpFun);
}

下面是類(lèi)的源代碼:

package index.base.geom{
 
  import flash.events.EventDispatcher;
  import flash.display.DisplayObject;
 
  import index.base.events.DotEvent;
 
  public class Dot extends EventDispatcher{
   
    private var _x:Number;
    private var _y:Number;
    private var dis:DisplayObject;
   
    public var isListen:Boolean;
   
    public function Dot(x_:Number = 0,y_:Number = 0,_isListen:Boolean = false){
      _x = x_;
      _y = y_;
      isListen = _isListen;
    }
   
    //綁定DisplayObject
    public function bind(_dis:DisplayObject,isInTime:Boolean = false):void{
      dis = _dis;
      updata();
      if(isInTime) dis.addEventListener("enterFrame",enterFrameFun);
    }
   
    //幀頻繁事件
    private function enterFrameFun(e:Object):void{
      if(_x != dis.x) x = dis.x;
      if(_y != dis.y) y = dis.y;
    }
   
    //更新xy數(shù)據(jù)
    public function updata():void{
      if(dis != null){
        _x = dis.x;
        _y = dis.y;
      }
    }
   
    //計(jì)算該點(diǎn)與另外一點(diǎn)的距離
    public function from(_dot:Dot,isQuadrant:Boolean = false):Number{
      updata();
      var num:Number = Math.sqrt(Math.pow(_dot.x - _x,2) + Math.pow(_dot.y - _y,2));
      if(!isQuadrant) num = Math.abs(num);
      return num;
    }
   
    //計(jì)算該點(diǎn)與另外一點(diǎn)所形成的線段與水平線的夾角,按順時(shí)間計(jì)算
    public function angle(_dot:Dot,isRadian:Boolean = false):Number{
      updata();
      var numx:Number = _dot.x - _x;
      var numy:Number = _dot.y - _y;
      var num:Number = Math.atan(numy/numx);
      if(!isRadian) num = num * 180 / Math.PI;
      return num;
    }
   
    //返回當(dāng)前點(diǎn)處在另外一點(diǎn)的哪個(gè)象限中 或 返回另外一點(diǎn)處在當(dāng)前點(diǎn)的哪個(gè)象限中
    public function quadrant(_dot:Dot,isMaster:Boolean = true):int{
      updata();
      if(_x == _dot.x || _y == _dot.y){
        return 0;
      }
     
      var num:int;
      var p1:Boolean = (_x - _dot.x) > 0;
      var p2:Boolean = (_y - _dot.y) > 0;
      num = isMaster ? (p1 ? (p2 ? 2 : 3) : (p2 ? 1 : 4)) : (p1 ? (p2 ? 4 : 1) : (p2 ? 3 : 2));
     
      return num;
    }
   
    //返回該點(diǎn)距0點(diǎn)的距離
    public function get length():Number{
      updata();
      var num:Number = Math.sqrt(Math.pow(_x,2) + Math.pow(_y,2));
      return num;
    }
   
    //清除顯示對(duì)象
    public function clear():void{
      dis = null;
    }
   
    //改變X坐標(biāo)
    public function set x(num:Number):void{
      _x = num;
      if(dis != null) dis.x = num;
      if(isListen) dispatchEvent(new DotEvent(DotEvent.DOT_CHANGE,true));
    }
   
    //設(shè)置X坐標(biāo)
    public function get x():Number{
      updata();
      return _x;
    }
   
    //改變Y坐標(biāo)
    public function set y(num:Number):void{
      _y = num;
      if(dis != null) dis.y = num;
      if(isListen) dispatchEvent(new DotEvent(DotEvent.DOT_CHANGE,true));
    }
   
    //設(shè)置Y坐標(biāo)
    public function get y():Number{
      updata();
      return _y;
    }
  }
}

事件類(lèi)的代碼:

package index.base.events{
 
  import flash.events.Event;
 
  public class DotEvent extends Event{
   
    public static const DOT_CHANGE:String = "dotChange";
   
    public function DotEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false){
      super(type,bubbles,cancelable);
    }
  }
}

經(jīng)典論壇交流
http://bbs.blueidea.com/thread-2842487-1-1.html

本文鏈接:http://m.95time.cn/tech/multimedia/2008/5706.asp 

出處:藍(lán)色理想
責(zé)任編輯:bluehearts

上一頁(yè) Dot類(lèi) [1] 下一頁(yè)

◎進(jìn)入論壇RIA設(shè)計(jì)與應(yīng)用版塊參加討論

相關(guān)文章 更多相關(guān)鏈接
AS3自寫(xiě)類(lèi)整理筆記:ByteLoader類(lèi)
FLASH小游戲開(kāi)發(fā) 第三節(jié)
Flash P2P 通信技巧(AS-Java-AS)
FLASH小游戲開(kāi)發(fā) 第二節(jié)
AS3自寫(xiě)類(lèi)整理筆記:類(lèi)的分包處理
作者文章
AS3自寫(xiě)類(lèi)整理筆記:ByteLoader類(lèi)
AS3自寫(xiě)類(lèi)整理筆記:類(lèi)的分包處理
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門(mén)搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁(yè)制作 web標(biāo)準(zhǔn) 用戶(hù)體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大!熬•自然”設(shè)計(jì)大賽開(kāi)啟
國(guó)際體驗(yàn)設(shè)計(jì)大會(huì)7月將在京舉行
中國(guó)國(guó)防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問(wèn)題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會(huì)
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買(mǎi)真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
淺談JavaScript編程語(yǔ)言的編碼規(guī)范
如何在illustrator中繪制臺(tái)歷
Ps簡(jiǎn)單繪制一個(gè)可愛(ài)的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡(jiǎn)單的作品展示頁(yè)面
CSS定位機(jī)制之一:普通流
25個(gè)最佳最閃亮的Eclipse開(kāi)發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁(yè) 首頁(yè) 前頁(yè) 后頁(yè) 尾頁(yè) 頁(yè)次:2/2頁(yè) 1個(gè)記錄/頁(yè) 轉(zhuǎn)到 頁(yè) 共2個(gè)記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來(lái)自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來(lái)自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請(qǐng)不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫(huà),設(shè)計(jì)作品,如需使用,請(qǐng)與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請(qǐng)與我們聯(lián)系,我們將立即刪除修改。

您的評(píng)論
用戶(hù)名:  口令:
說(shuō)明:輸入正確的用戶(hù)名和密碼才能參與評(píng)論。如果您不是本站會(huì)員,你可以注冊(cè) 為本站會(huì)員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯(cuò)誤,請(qǐng)用報(bào)告錯(cuò)誤,以利文檔及時(shí)修改。
不評(píng)分 1 2 3 4 5
注意:請(qǐng)不要在評(píng)論中含與內(nèi)容無(wú)關(guān)的廣告鏈接,違者封ID
請(qǐng)您注意:
·不良評(píng)論請(qǐng)用報(bào)告管理員,以利管理員及時(shí)刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國(guó)的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評(píng)論管理人員有權(quán)保留或刪除其管轄評(píng)論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評(píng)論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評(píng)論文檔 | 報(bào)告錯(cuò)誤  
專(zhuān)業(yè)書(shū)推薦 更多內(nèi)容
網(wǎng)站可用性測(cè)試及優(yōu)化指南
《寫(xiě)給大家看的色彩書(shū)1》
《跟我去香港》
眾妙之門(mén)—網(wǎng)站UI 設(shè)計(jì)之道
《Flex 4.0 RIA開(kāi)發(fā)寶典》
《贏在設(shè)計(jì)》
犀利開(kāi)發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2