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

java語言

java“類的分包處理”詳細教程

時間:2024-10-02 19:58:04 java語言 我要投稿
  • 相關推薦

java“類的分包處理”詳細教程

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

  分包情況:

  base包:基礎包,用于存放初級應用類

  bat包:應用包,用于存放高級應用類

  com包:系統化包,用于存放系統化的高級應用模塊類

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

  item包:項目包,用于項目上靠經驗積累下的類

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

  這段時間,我個人的情緒非常低落,為了擺脫這段時間的消極狀態

  因此開始整理在做項目中,碰到的種種問題,來整理出一套可用性高的類庫

  希望自己會堅持下去!

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

  index.base.geom.Dot類講解

  基本功能:記錄xy兩點

  構造函數

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

  前兩個參數表示Dot的初始位置,第三個參數表示是否是一個功能性強的點

  如果為false,當xy發生改變的時候,就不會發布事件,為true則會發布事件、

  bind 綁定顯示對象方法

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

  當Dot綁定到DisplayObject上之后,Dot的xy屬性會隨著_dis改變而改變

  第一個參數為綁定的對象,第二個參數表示是否即時綁定

  如果為false,Dot的xy屬性不會隨著_dis的改變而即時改變,但在獲取Dot的xy屬性,或者調用Dot的方法時,將會立即改變并且以_dis的xy屬性為基準

  如果為true,Dot的xy屬性會隨著_dis的改變而立即改變,如果isListen為true,還會即時發布xy改變的事件,那么等于可以偵聽顯示對象的xy屬性,并且在改變后做出即時的反應

  updata 刷新方法

  public function updata():void

  更新顯示對象與Dot的xy屬性

  from 返回兩點之間距離

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

  第一個參數表示,結束點,第二個參數表示,是否為真實距離

  如果為false,返回的兩點距離絕對是正數,指的是兩點之間的絕對距離

  如果為true,則返回相對坐標,那么是有可能的為負的!

  angle 返回兩點所形成的夾角

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

  第一個參數表示,另外一個點,第二個參數表示,是否為弧度值

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

  quadrant 返回相對點所在的象限

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

  第一個參數表示另外一個點,第二個參數表示是否以該點為標準,具體請看示例

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

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

  不知道象限是什么意思的,請看這 點擊跳轉"象限"的百度百科頁面

  clear 方法

  public function clear():void

  清空顯示對象

  length 屬性(只讀)

  public function get length():Number

  獲取該點距0,0點的距離

  x 屬性

  public function set x(num:Number):void

  public function get x():Number

  設置x屬性,如果isListen為true,則會發布x改變的事件

  y 屬性

  public function set y(num:Number):void

  public function get y():Number

  設置y屬性,如果isListen為true,則會發布y改變的事件

  isListener 屬性

  public var isListen:Boolean

  指定設置isListen的值,是否為可偵聽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坐標:" po1.x "," po1.y;

  te.appendText("n物體2坐標:" po2.x "," po2.y);

  te.appendText("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對于物體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數據

  public function updata():void{

  if(dis != null){

  _x = dis.x;

  _y = dis.y;

  }

  }

  //計算該點與另外一點的距離

  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;

  }

  //計算該點與另外一點所形成的線段與水平線的夾角,按順時間計算

  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;

  }

  //返回當前點處在另外一點的哪個象限中 或 返回另外一點處在當前點的哪個象限中

  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;

  }

  //返回該點距0點的距離

  public function get length():Number{

  updata();

  var num:Number = Math.sqrt(Math.pow(_x,2) Math.pow(_y,2));

  return num;

  }

  //清除顯示對象

  public function clear():void{

  dis = null;

  }

  //改變X坐標

  public function set x(num:Number):void{

  _x = num;

  if(dis != null) dis.x = num;

  if(isListen) dispatchEvent(new DotEvent(DotEvent.DOT_CHANGE,true));

  }

  //設置X坐標

  public function get x():Number{

  updata();

  return _x;

  }

  //改變Y坐標

  public function set y(num:Number):void{

  _y = num;

  if(dis != null) dis.y = num;

  if(isListen) dispatchEvent(new DotEvent(DotEvent.DOT_CHANGE,true));

  }

  //設置Y坐標

  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“類的分包處理”詳細教程】相關文章:

linux配置java環境變量詳細步驟教程08-13

關于Java類的定義以及執行順序學習教程10-17

java教程之Java編程基礎09-12

Java面向過程教程10-05

java selenium基本教程09-27

Photoshop調色詳細教程05-17

java四系列的詳細教學10-05

Java程序重新配置教程07-07

Java構建JSE開發環境教程06-17

Java程序設計示例教程09-19

主站蜘蛛池模板: 杭锦旗| 呼玛县| 嘉祥县| 彩票| 朔州市| 东方市| 东城区| 兴仁县| 沁阳市| 泾源县| 江川县| 广灵县| 大方县| 星座| 广德县| 贵阳市| 深州市| 九江县| 洛隆县| 芮城县| 永清县| 鄂托克旗| 清镇市| 平江县| 贺州市| 商洛市| 普洱| 辽阳市| 林甸县| 邓州市| 西林县| 乐都县| 仲巴县| 商丘市| 新密市| 茶陵县| 镇巴县| 玛多县| 农安县| 嘉义市| 丘北县|