繪圖 API

使用繪圖 API 可獲得執行速度較快的程式碼。

Flash Player 10 與 AIR 1.5 提供新的繪圖 API,可讓您獲得更佳的程式碼執行效能。這項新的 API 並未改善顯示效能,但是它可大幅減少您必須撰寫的程式碼行數。較少行的程式碼可以提供較佳的 ActionScript 執行效能。

新的繪圖 API 包括下列方法:

  • drawPath()

  • drawGraphicsData()

  • drawTriangles()

備註: 此處的討論不會著重在與 3D 相關的 drawTriangles() 方法。不過,這個方法也可以改善 ActionScript 效能,因為它會處理原生紋理對應。

下列程式碼會針對繪製的每個線段明確地呼叫適當的方法:

var container:Shape = new Shape(); 
container.graphics.beginFill(0x442299); 
 
var coords:Vector.<Number> = Vector.<Number>([132, 20, 46, 254, 244, 100, 20, 98, 218, 254]); 
 
container.graphics.moveTo ( coords[0], coords[1] ); 
container.graphics.lineTo ( coords[2], coords[3] ); 
container.graphics.lineTo ( coords[4], coords[5] ); 
container.graphics.lineTo ( coords[6], coords[7] ); 
container.graphics.lineTo ( coords[8], coords[9] ); 
 
addChild( container );

下列程式碼比上一個範例的執行速度更快,因為它會執行較少行的程式碼。路徑愈複雜,使用 drawPath() 方法所獲得的效能就愈大:

var container:Shape = new Shape(); 
container.graphics.beginFill(0x442299); 
 
var commands:Vector.<int> = Vector.<int>([1,2,2,2,2]); 
var coords:Vector.<Number> = Vector.<Number>([132, 20, 46, 254, 244, 100, 20, 98, 218, 254]); 
 
container.graphics.drawPath(commands, coords); 
 
addChild( container );

drawGraphicsData() 方法提供類似的效能改善。