乙個FLEX擴充套件Degrafa簡介

2021-08-30 16:27:05 字數 2056 閱讀 1791

[color=darkblue][size=large]degrafa簡介(www.degrafa.com)

建立環境

增加swc類庫

建立lib目錄(也可以是其它名稱), 將degrafa庫拷貝到lib目錄中

專案屬性 -> flex build path -> library path -> add swc folder, 選擇lib

在mxml中增加名字空間以簡化**

xmlns:degrafa=""

xmlns:paint="com.degrafa.paint.*"

xmlns:geometry="com.degrafa.geometry.*"

1,建立 su***ce

2,建立圖形group

3, 建立圖形, 包括圓,橢圓, 直線,曲線, 路徑,矩形,多邊形等

4,建立填充和筆畫

5,在as中動態新增圖形組和圖形

var datastr = "m 10 10 l 220 120 l 20 220 z";

var group2:geometrygroup = new geometrygroup();

group2.target = su***ce1;

su***ce1.graphicscollection.additem(group2);

var dgfpath:path = new path(null);

dgfpath.data = datastr;

dgfpath.fill = blue;

dgfpath.stroke = whitestrokes;

var currcircle:circle = new circle(50, 50, 150);

currcircle.fill = red;

//add to geometrygroup

group2.geometrycollection.additem(currcircle);

group2.geometrycollection.additem(dgfpath);

group2.draw(null,null);

6, 座標變換(好像目前還沒有實現transform類, 但我們可以通過圖形組或su***ce的變換方式完成)

使用變換矩陣進行變換

var matrix:matrix = new matrix();

var scalex:number = 2.0;

var scaley:number = 3.0;

var rotation:number = 2 * math.pi * (45 / 360);

var tx:number = 10;

var ty:number = 20;

matrix.createbox(scalex, scaley, rotation, tx, ty);

/*matrix.a=1;

matrix.b=0;

matrix.c=0;

matrix.d=-1;

matrix.tx=27.376;

matrix.ty=34.6748;*/

degrafa1.transform.matrix = matrix;

除了使用變換矩陣進行變換外,其它簡單的變換方式包括縮放,旋轉等:

degrafa1.scalex = 2;

degrafa1.scaley = 2;

degrafa1.rotation = 2 * math.pi * (45 / 360);

注意好像這些變換都只能發生在圖形組和su***ce上

7, 事件偵聽

在圖形組和su***ce上可以偵聽滑鼠和鍵盤事件, 但在基本圖形上似乎只有初始化和屬性變化事件處理。

group2.addeventlistener(mouseevent.click, onclickgroup2);

private function onclickgroup2(event:mouseevent):void

感興趣的可以到他們的**上看看, 有一些例子和教程,但總體感覺文件不是很全,尤其是簡單的示例比較少,使用時需要自己摸索。[/size][/color]

乙個擴充套件的 GridPanel

分頁後可儲存checkbox的選擇狀態。封裝的grid 功能 分頁後仍保持選中狀態 約定 root為list,totalproperty為total,grid的第一列必須為id ext.namespace ext.ux.grid ext.ux.grid.mygrid ext.extend ext.g...

擴充套件乙個 layui 模組

layui 官方提供的模組有時可能還無法滿足你,或者你試圖按照layer的模組規範來擴充套件乙個模組。那麼你有必要認識layui.define 方法。並粗略了解一下extend 我糾結過這個一小段時間 下面就讓我們一起擴充套件乙個layui模組吧 第一步 確認模組名,假設為 mymod,然後新建乙個...

Flex 將乙個 XML 轉換成乙個物件

在 flex 中,一般將乙個 xml 轉換成乙個物件,供顯示層或其它類使用.可以根據 xml 標籤的屬性名,標籤名 及 類的屬性名索引 進行轉換.public function convertxmlintoobject source xml,target object,convertattribut...