di Actionscript 3.0, con lo scopo di semplificare la manipolazione di Array lineari usati come matrice n x m . MatrixArray ist eine Erweiterung der Klasse Array von Actionscript 3.0, mit dem Ziel der Manipulation zu vereinfachen Array als eine lineare n x m-Matrix verwendet. Diese Klasse ist ein Teil der Bibliothek Undolibrary (im Paket undolibrary.utils.MatrixArray ), die Sie kostenlos herunterladen können Funktion über alle Google-Code SVN-Client (Subversion) zu:
svn checkout http://undolibrary.googlecode.com/svn/trunk/
Alternativ können Sie die einzelnen Datei MatrixArray.as . Ein Beispiel für die Verwendung von linearen Matrix wurde in bestimmten Actionscript 3.0 für Anfänger: Lektion Nr. 2 , wo wir eine seiner einfachen Verwendung bei der Herstellung der klassischen Tic Tac Toe-Spiel sah. ), proprio come una scacchiera. Ein Array von diesem Typ ist vergleichbar mit einem rechteckigen Bereich ( w x h ), wie ein Schachbrett. Mit dieser Klasse können Sie behandeln eine Reihe dieser Art wie ein Gitter mit seinen x-und y-Koordinaten. Die MatrixArray ich zum Beispiel habe bei der Entwicklung aller Logik-Editor Emotions Icons für Skype: Skypemote .
Methoden
aggiungendo una serie di utili metodi per gestire e manipolare matrici n x m . Die Klasse MatrixArray erstreckt sich also die normale Klasse Array , indem eine Reihe von nützlichen Methoden zu verwalten und zu manipulieren n x m-Matrix. So erstellen Sie eine Matrix n x m ist ausreichend, um zu verwenden:
1 2 3 4 5 | / / Importanzione Klasse - wenn Sie die gesamte Bibliothek Undolibrary heruntergeladen / / Alternativ können Sie nur die Datei und verwenden Sie es allein MatrixArray.as utils . MatrixArray ; undolibrary Importe utils MatrixArray..; / / MatrixArray = new MatrixArray ( 10 , 10 ) ; var aber: MatrixArray = new MatrixArray (10, 10); |
Erstellt 10 × 10-Matrix, wie in dem vorherigen Beispiel, können wir es mit Methoden, die uns die Arbeit sehr schnell und einfach Hilfe zu manipulieren. In der Tat ist das 10 × 10-Matrix nichts anderes als eine einfache lineare Anordnung von 100 Elementen!
clip ()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | / ** * Restitusice einen rechteckigen Teil der Matrix in Form MatrixArray * * @ Param (uint) links neben dem Schnitt x-Koordinate * @ Param (uint) sy y-Koordinaten der Schnitt * @ Param (uint) cw horizontale Dimension des Schnittes * @ Param (uint) ch vertikale Dimension des Schnittes * @ Ergebnis (MatrixArray) Eine neue Matrix x cw ch * * / uint , sy : uint , cw : uint , ch : uint ) : MatrixArray Clips (links: uint , sy: uint , cw: uint , ch: uint ): MatrixArray / / Beispiel / / Erstellen eines neuen 2,2 MatrixArray Koordinaten und Breite und Höhe 5 MatrixArray = ma . clip ( 2 , 2 , 5 , 5 ) ; var nma: MatrixArray = ma-Clips (2, 2, 5, 5);. |
fill ()
1 2 3 4 5 6 | / ** * Füllen Sie das Array mit einem bestimmten Wert * * @ Param (any) Wert in der Matrix enthalten sein * / ) ; fill (v: *); |
paintChar ()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | / ** * Füllt die Matrix mit (nur) aus einer Zeichenkette entnommen * Länge entspricht der Größe der Matrix * * @ Param (string) string v mit der Anzahl der Zeichen, die abgebildet werden * @ Ergebnis (boolean) true ok, falsche Fehlermeldung: Falsche Stringlänge * * / string ) paintChar (v: string) / / Beispiel MatrixArray = new MatrixArray ( 10 , 5 ) ; var aber: MatrixArray = new MatrixArray (10, 5); aber. paintChar ( '**********' + '**##**##**' + '**********' + '**#####**' + '**********' ); |
flipH (), flipV ()
1 2 3 4 5 6 | / ** * Führt eine Reflexion orizziontale (flipH) oder * Vertikale (flipV) direkt auf die Matrix * / void flipH (): void void flipV (): void |
move ()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | / ** * Bewegen Sie den Inhalt des Arrays (was eine Verschiebung) in den vier * Die Richtung eines vorgegebenen offeset * / int , oy : int ) : void move (x: int , y: int ): void / / MatrixArray = new MatrixArray ( 10 , 5 ) ; var aber: MatrixArray = new MatrixArray (10, 5); aber. paintChar ( '**********' + '**##**##**' + '**********' + '**#####**' + '**********' ); 2 , 4 ) ; . sondern bewegen sich (2, 4); / / Ausgabe ## **** ** # # # # ********** **** ##### ********** ********** |
peek ()
1 2 3 4 |
poke ()
1 2 3 4 |










Es gibt keine Kommentare für diesen Beitrag
Hinterlasse einen Kommentar