AS3 技巧和提示

2021-08-25 03:44:20 字數 2435 閱讀 4454

原文見

[url=

[color="#444444"]

[/url]

在 as3 中你可以通過 stage 類動態改變影片的幀速

所有的 displayobject 都有乙個 stage 屬性, 通過他可以訪問當前 displayobject 所在例項的 stage.

修改 stage 的 framerate 屬性就可以改變幀速, 他的值可以是 0.01 ~ 1000

package }}

還記得 as2 中被大量使用的 delegate 麼, as3 中他已經不那麼重要了, 因為函式可以記住自己的作用域

as2 的例子:

as3 的例子, 在 flash 9 alpha 中測試

var obj = new object();

obj.tracethis = tracethis;

obj.tracethis(); // 輸出 false, 沒有作用域的問題了~

function tracethis ()

與 as1, 2 一樣, as3 也有一套畫圖介面 (drawing api) 使得我們能夠動態的使用 as 在 sprite* 和 movieclip 中畫向量圖。

不過在 as3 中這些方法都沒有被定義在 displayobject 中 (如 sprite, movieclip 等), 而是在他們的 graphics (flash.display.graphic) 屬性中, 這個 graphics 相當於乙個動態繪圖層。

同時 as3 也提供了一組讓我們更方便繪製矩形, 圓, 甚至遠郊邊框的函式, 他們包含

drawcircle(x:number, y:number, radius:number):void

drawellipse(x:number, y:number, width:number, height:number):void

drawrect(x:number, y:number, width:number, height:number):void

drawroundrect(x:number, y:number, width:number, height:number, ellipsewidth:number, ellipseheight:number):void 繪製乙個藍色圓角邊框:

var square:sprite = new sprite();

square.graphics.beginfill(0xff);

square.graphics.drawroundrect(0, 0, 100, 50, 10, 10);

square.graphics.endfill();

addchild(square);

sprite 是 movieclip 的簡化版本, 可以理解成只有一幀的 movieclip 。

as3 中新增了一些變數型別, 基本型別 (頂級類, top level class) 包括簡單型別:

boolean

int

null

number

string

uint

undefined 復合型別 (或許叫做類會比較順口):

object

array

date

error

function

regexp

xml

xmllist 另外還有一些分類到各個包中的諸如 matrix (flash.geom.matrix), shape (flash.display.shape), urlrequest (flash.net.urlrequest), 等等

void 型別在 as3 中使用小寫, void -> void

新增了萬能型別 * 用來表示所有型別. 如果你沒有為變數指定型別, 那麼他即是預設型別。

var anything:*

xml 類不再是 as1, 2 中的 xml. as3 中的 xml 基於 e4x, 允許你像操作普通變數一樣操作 xml (置頂帖中的教程有介紹)

新增 int 和 uint 型別, 他們在陣列遍歷等不需要小數的場合相當有用. int 型別會比使用 number 快一點點, 而 uint 通常用來表示顏值等 (據測試 uint 比 number 慢, int 比 number 快不了多少)

import mx.utils.delegate;

var obj = new object();

obj.tracethis = tracethis;

obj.tracethis(); // 輸出 true, 也就是 obj 自己

obj.tracethis = delegate.create(this, tracethis);

obj.tracethis(); // 輸出 false, 因為我們已經手動把函式作用域指向到了 _root, (as3 中是 timeline0)

function tracethis ()

AS3事件型別大全 (as3開發筆記)

event事件型別 activate 啟用事件 deactivate 物件休眠事件 added 可視物件新增事件 added to stage 可視物件新增到舞台事件 removed 可視物件移除事件 removed from stage 可視物件從舞台移除事件 enter frame 幀頻事件 滑...

15 個 Docker 技巧和提示

好的 docker ps 輸出 將 docker ps 輸出通過管道重定向到 less s,避免折行 docker ps a less s跟隨 logs docker logs 預設情況下不會觀察日誌,除非你使用 f 引數 docker logs fdocker inspect 輸出漂亮的 json...

弄App Store提示和技巧推薦

眾所周知上蘋果的主頁推薦是對產品最佳 高 率 零廣告費 推廣,然而蘋果卻對選擇的方式和規則諱莫如深。下面是蒐集的一些獲得推薦的開發人員的經驗。1.產品要新穎。且質量上乘。這個質量包括非常多細節,從產品外觀上說。比方ui的總體效果,圖示的質量。2.產品要有一定的知名度。經過觀察在榜上的應用被推薦的可能...