nKast

pixel perf-ect

16. February 2009 13:25
by nKast
0 Comments

Στοιβάζοντας movieclips στο Flash

16. February 2009 13:25 by nKast | 0 Comments

Αν είσαι Flash developer τοτε οι παρακάτω γραμμές κώδικα θα πρέπει κάτι να σου θυμίζουν:

var xPos:Number = 0;
for( var childNode:Xml in rootNode.elements() )

var tmpmc:Movieclip = new MenuBtn();
tmpmc.label.text = childNode.get("Label");
menuPlaceholder.addChild(tmpmc);
//...
tmpmc.x = xPos;
xPos += tmpmc.height + 6;
}


Κατι παρόμοιο έχεις συναντήσει είτε οταν φτιάχνεις ενα δυναμικό μενού που αντλεί στοιχεία απο ενα xml, είτε ενα γκάλερυ για φωτογραφίες.

Αυτή η προσέγγιση όμως πάντα με προβλημάτιζε, έτσι έφτιαξα μια μικρή βιβλιοθήκη που χειρίζεται τέτοιες καταστάσεις με ποιό κομψό τρόπο. Ακολουθεί ενα μικρό demo του τί μπορεί να κάνει..

Get Adobe Flash player

Το πρωτο παράδειγμα θα μπορούσε να γραφεί κάπως ετσι:

var sh:StackHorizontal = new StackHorizontal(menuPlaceholder,6);
for( var childNode:Xml in rootNode.elements() )
{
var tmpmc:Movieclip = new MenuBtn();
tmpmc.label.text = childNode.get("Label);
sh.addChild(tmpmc);
//... 
}

Πολύ καλύτερα, ε;
Προσέξτε οτι δεν καλώ την addChild του menuPlaceholder αλλα της sh.

Η βιβλιοθήκη είναι γραμμένη εξωλοκλήρου σε HaXe και μπορείτε να την βρείτε στο www.codeplex.com/nkHaxeLibrary. Είναι λίγο φτωχή για την ώρα, αλλα με τον καιρό θα εμπλουτιστεί. Θα ακολουθήσουν νέα παραδείγματα καθώς θα προσθέτω νέες κλάσεις.