XML ontleden in AS

Zo nu zijn we - voor de meesten - op het moeilijkste gedeelte aangekomen. ActionScripting.
Eerst een korte uitleg hoe AS in elkaar steekt.
ActionScript lijkt heel erg op JavaScript.
Je moet variabelen defineren (dus nummer = 13, is niet goed. Dit meot dan worden:
var nummer:Number; nummer = 13. Of korter: var nummer:Number = 13;)
Zo zijn er nog een aantal dingen die we opweg gaan tegenkomen.

Creeer een nieuwe ActionScript file. PhotoGallery.as
Ga naar je .fla en klik op het eerste frame in je tijdlijn en druk dan op F9. Type in het venster wat te voorschijn komt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
// Let op zet GEEN puntkomma (;) achter de include en er moeten dubbele aanhalingtekens omheen!!
#include "PhotoGallery.as"


Ga weer naar je PhotoGallery.as.
We gaan beginnen met de makkelijkere dingen, we gaan de knoppen een functie meegeven. Dat doen we als volgt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
// eerst spreken we de button aan. Na de punt geven we een event mee, namelijk onRelease.
// Als er op geklikt word creer een functie.
// Die functie traced (we zien straks wat trace doet!) zichzelf. Dat is dus logischerwijs next_btn.
next_btn.onRelease = function() {
    trace(this);
}
// nu gaan we hetzelfde doen met prev_btn
prev_btn.onRelease = function() {
    trace(this);
}

Klik op Ctrl+S (save hem dus in de map assets)
Ga weer terug naar je .fla en klik op Ctrl+Enter. De Flash exporteert nu.
Als je nu op prev_btn of next_btn klikt verschijnt er een venset Output:
En de tekst
_level0.next_btn
of:
_level0.prev_btn

We weten nu dat deze functie werkt. We laten de knoppen nu even voor wat het is.
Tijd om de XML op te gaan halen. Hieronder post ik de code met commentaar, dat is even wat makkelijker voor mij.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Eerst gaan we alle variabelen aanmaken die we op dit moment nodig hebben
var fotos:Array = new Array();
var beschrijvingen:Array = new Array();
var titels:Array = new Array();
var welkeisnu:Number = 0;

// nu gaan we een Object aanmaken, namelijk een XML object
var xml:XML = new XML();

// nu de proccesing van het xml bestand.
// zoals we het samengestelt hebben in de PHP bestaat het uit een Child <fotos>
// en een ChildNode namelijk: <foto></foto>
// in die ChildNode staan attributes namelijk: src & titel
// ook staat er in die ChildNode weer een Child namelijk: beschrijving
// nu we dat weten zal het iets beter te begrijpen zijn. :)
// Eerst gaan we alle ChildNodes in een Array stoppen:
var childnodes:Array = xml.firstChild.childNodes;

// je ziet dus we pakken de eerste Child (firsChild), dit is je oma,
// en daar de 'kinderen' van (childNodes), zijn je moeder en je tantes.
// nu moeten we dat weer gaan onderverdelen. Aangezien we in ActionScript geen foreach() kennen doen we
// het met een gewone for-loop
for(var i:Number = 0; i < childnodes.length; i++) {
    // we tellen childnodes door childnodes.length te doen. (array_length($var)) in PHP
    fotos.push(childnodes[i].attributes.src);
    // wat we hier doen is array_push in PHP. Daar stoppen we in:
    // xml.firstChild.childNodes[variabel].attributes.src
    titels.push(childnodes[i].attributes.titel);
    // wat we hier doen is array_push in PHP. Daar stoppen we in:
    // xml.firstChild.childNodes[variabel].attributes.titel
    beschrijvingen.push(childnodes[i].firstChild);
    // nu halen we niet een attribute op maar een kind van je moeder of tantes. Jij of n van je nichtjes.
    // in theorie zou hier dan ook weer een kind in kunnen staan. Maar zo diep gaan we vandaag niet 8-|
}

// zo nu hebben we mooi de XML uitelkaar getrokken, denk nu niet gelijk hoe kan dat nou, we hebben helemaal
// geen XML path opgegeven. Nee idd, dat gaan we nu doen!
xml.load('PhotoGallery.xml');

// Nu hebben we alles netjes in Arrays!

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. Voorbereiding
  3. De PHP
  4. XML ontleden in AS
  5. MovieClipLoader Class en het laden van de fotos

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.