AS3 Flash/Animate - визуальные графики - данные из XML или Excell

Я использовал Flash много лет в качестве платформы для дизайна. Мудрый AS3, я новичок около 10 лет. Я разработал различные графики во флэш-памяти, предназначенные для печати и заполнения вручную. Однако, как правило, я дополняю графики, рисуя точки данных и линии непосредственно во Flash. Не обращая внимания на тот факт, что я использую flash для действительно нелепой цели, возможно ли рисовать символы точек данных и связывать линии, используя XML или даже Excel?

я использовал XML загрузить внешние файлы изображений ранее.

Не ищу легкого решения, но если кто-то может указать мне правильное направление, пожалуйста, свяжитесь с нами.

С наилучшими пожеланиями,

Богатые

1 ответ

  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 = aNode.@x;
    var anY:Number = aNode.@y;

    // 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 = aNode.@x;
        anY = aNode.@y;

        // 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);
}
Другие вопросы по тегам