奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

java語(yǔ)言

java“類的分包處理”詳細(xì)教程

時(shí)間:2025-05-31 03:30:53 java語(yǔ)言 我要投稿
  • 相關(guān)推薦

java“類的分包處理”詳細(xì)教程

  ActionScript 3.0 自寫類整理筆記(一)——類的分包處理

  分包情況:

  base包:基礎(chǔ)包,用于存放初級(jí)應(yīng)用類

  bat包:應(yīng)用包,用于存放高級(jí)應(yīng)用類

  com包:系統(tǒng)化包,用于存放系統(tǒng)化的高級(jí)應(yīng)用模塊類

  exe包:框架包,用于存放框架方面的類

  item包:項(xiàng)目包,用于項(xiàng)目上靠經(jīng)驗(yàn)積累下的類

  module包:組件包,用于存放組件的類

  這段時(shí)間,我個(gè)人的情緒非常低落,為了擺脫這段時(shí)間的消極狀態(tài)

  因此開(kāi)始整理在做項(xiàng)目中,碰到的種種問(wèn)題,來(lái)整理出一套可用性高的類庫(kù)

  希望自己會(huì)堅(jiān)持下去!

  ActionScript 3.0 自寫類整理筆記(二)——Dot類

  index.base.geom.Dot類講解

  基本功能:記錄xy兩點(diǎn)

  構(gòu)造函數(shù)

  public function Dot(x_:Number = 0,y_:Number = 0,_isListen:Boolean = false)

  前兩個(gè)參數(shù)表示Dot的初始位置,第三個(gè)參數(shù)表示是否是一個(gè)功能性強(qiáng)的點(diǎn)

  如果為false,當(dāng)xy發(fā)生改變的時(shí)候,就不會(huì)發(fā)布事件,為true則會(huì)發(fā)布事件、

  bind 綁定顯示對(duì)象方法

  public function bind(_dis:DisplayObject,isInTime:Boolean = false):void

  當(dāng)Dot綁定到DisplayObject上之后,Dot的xy屬性會(huì)隨著_dis改變而改變

  第一個(gè)參數(shù)為綁定的對(duì)象,第二個(gè)參數(shù)表示是否即時(shí)綁定

  如果為false,Dot的xy屬性不會(huì)隨著_dis的改變而即時(shí)改變,但在獲取Dot的xy屬性,或者調(diào)用Dot的方法時(shí),將會(huì)立即改變并且以_dis的xy屬性為基準(zhǔn)

  如果為true,Dot的xy屬性會(huì)隨著_dis的改變而立即改變,如果isListen為true,還會(huì)即時(shí)發(fā)布xy改變的事件,那么等于可以偵聽(tīng)顯示對(duì)象的xy屬性,并且在改變后做出即時(shí)的反應(yīng)

  updata 刷新方法

  public function updata():void

  更新顯示對(duì)象與Dot的xy屬性

  from 返回兩點(diǎn)之間距離

  public function from(_dot:Dot,isQuadrant:Boolean = false):Number

  第一個(gè)參數(shù)表示,結(jié)束點(diǎn),第二個(gè)參數(shù)表示,是否為真實(shí)距離

  如果為false,返回的兩點(diǎn)距離絕對(duì)是正數(shù),指的是兩點(diǎn)之間的絕對(duì)距離

  如果為true,則返回相對(duì)坐標(biāo),那么是有可能的為負(fù)的!

  angle 返回兩點(diǎn)所形成的夾角

  public function angle(_dot:Dot,isRadian:Boolean = false):Number

  第一個(gè)參數(shù)表示,另外一個(gè)點(diǎn),第二個(gè)參數(shù)表示,是否為弧度值

  返回的角度是相對(duì)順時(shí)間的真實(shí)角度值,具體的數(shù)值變化可以從上面的例子看出

  quadrant 返回相對(duì)點(diǎn)所在的象限

  public function quadrant(_dot:Dot,isMaster:Boolean = true):int

  第一個(gè)參數(shù)表示另外一個(gè)點(diǎn),第二個(gè)參數(shù)表示是否以該點(diǎn)為標(biāo)準(zhǔn),具體請(qǐng)看示例

  返回0,表示兩點(diǎn)在同一條橫著或者豎著的直線上

  返回1,表示在第一象限,返回2表示第二象限………… 最高是第四象限。。

  不知道象限是什么意思的,請(qǐng)看這 點(diǎn)擊跳轉(zhuǎn)"象限"的百度百科頁(yè)面

  clear 方法

  public function clear():void

  清空顯示對(duì)象

  length 屬性(只讀)

  public function get length():Number

  獲取該點(diǎn)距0,0點(diǎn)的距離

  x 屬性

  public function set x(num:Number):void

  public function get x():Number

  設(shè)置x屬性,如果isListen為true,則會(huì)發(fā)布x改變的事件

  y 屬性

  public function set y(num:Number):void

  public function get y():Number

  設(shè)置y屬性,如果isListen為true,則會(huì)發(fā)布y改變的事件

  isListener 屬性

  public var isListen:Boolean

  指定設(shè)置isListen的值,是否為可偵聽(tīng)xy

  舉例:

  上面的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);

  }

  下面是類的源代碼:

  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;

  }

  }

  }

  事件類的代碼:

  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);

  }

  }

  }

【java“類的分包處理”詳細(xì)教程】相關(guān)文章:

linux配置java環(huán)境變量詳細(xì)步驟教程08-13

關(guān)于Java類的定義以及執(zhí)行順序?qū)W習(xí)教程10-17

java教程之Java編程基礎(chǔ)09-12

Photoshop濾鏡詳細(xì)教程08-24

java selenium基本教程09-27

Java程序規(guī)范教程09-03

Java面向過(guò)程教程10-05

Java的特點(diǎn)學(xué)習(xí)教程08-27

Photoshop調(diào)色詳細(xì)教程05-17

主站蜘蛛池模板: 伊吾县| 旬邑县| 闽侯县| 桃江县| 自治县| 信丰县| 陇南市| 阳高县| 崇阳县| 林周县| 视频| 盘山县| 霍邱县| 茶陵县| 正安县| 子长县| 敦煌市| 武川县| 左云县| 建湖县| 鄂托克前旗| 紫金县| 汾西县| 云南省| 平阳县| 富顺县| 印江| 无为县| 江口县| 彰化县| 曲水县| 子长县| 新竹县| 丽水市| 项城市| 江孜县| 涞水县| 大洼县| 河曲县| 牙克石市| 台州市|