2017-06-23 25 views
0

我已經使用Flash作爲設計平臺多年。 AS3明智的,我是一個約10年的初學者。我在閃光燈中設計了各種圖表,用於手動打印和填寫。但是,通常我通過直接在Flash中繪製數據點和線來完成圖形。忽略我使用Flash實際上非常荒謬的目的,是否可以繪製數據點符號,並使用XML甚至Excel連接線?AS3 Flash/Animate - 可視圖 - 來自XML或Excell的數據

我已經使用XML先前加載外部圖像文件。

不尋找一個簡單的解決方案,但如果任何人都可以指出我在正確的方向,請與我聯繫。

最好的問候,

豐富

回答

0
  1. 忘了Excel中。
  2. 實際上,這對於XML來說並不難。只是一個簡單的例子。
var X:XML = 
    <root> 
     <point x="0" y="0" /> 
     <point x="100" y="100" /> 
     <point x="10" y="50" /> 
     <point x="200" y="10" /> 
     <point x="45" y="45" /> 
     <point x="35" y="100" /> 
    </root>; 

這是很基本的東西,但它展示瞭如何通過XML節點的列表以及如何訪問它們的屬性瀏覽。

drawZigzag(X); 

function drawZigzag(source:XML):void 
{ 
    // Get a list of points. 
    var aList:XMLList = source.child("point"); 

    // Get the starting point. 
    var aNode:XML = aList[0]; 
    var anX:Number = [email protected]; 
    var anY:Number = [email protected]; 

    // Start drawing. 
    graphics.lineStyle(0, 0x000000); 
    graphics.moveTo(anX, anY); 

    for (var i:int = 1; i < aList.length(); i++) 
    { 
     // Get the next coordinates. 
     aNode = aList[i]; 
     anX = [email protected]; 
     anY = [email protected]; 

     // Draw the line. 
     graphics.lineTo(anX, anY); 
    } 
} 

現在,如果你想它是一個外部文件。這也是非常基本的,沒有錯誤處理和東西,但應該工作,如果你準備好所有的事情。

// I hope the following is self-explanatory. 
var xmlRequest:URLRequest = new URLRequest("your.xml"); 
var dataLoader:URLLoader = new URLLoader; 

// Loading is asynchronous so you need to listen for a relevant event. 
dataLoader.addEventListener(Event.COMPLETE, onFile); 
dataLoader.load(xmlRequest); 

function onFile(e:Event):void 
{ 
    // Of course, your file MUST be a valid XML. 
    var X:XML = new XML(dataLoader.data); 

    // The data are ready, you can call the drawing routine now. 
    drawZigzag(X); 
} 
+0

非常感謝Organis,這非常棒。我需要一段時間才能掌握它。祝一切順利 – Rich