Undolibrary MatrixArray: eine Verlängerung der Klasse Array

Montag, 15. September, 2008

MatrixArray ist eine Erweiterung der Klasse Array von Actionscript 3.0, mit dem Ziel der Vereinfachung der Handhabung von Array als eine lineare Array n x m. Diese Klasse ist ein Teil der Bibliothek Undolibrary (im Paket undolibrary.utils.MatrixArray können frei aus dem Herunterladen von Google-Code über einen Client SVN (Subversion) unter:
svn checkout http://undolibrary.googlecode.com/svn/trunk/
Oder können Sie einfach die Datei herunterzuladen MatrixArray.as. Ein Beispiel für die Verwendung von linearen Arrays wurde in Actionscript 3.0 für Anfänger: Lektion # 2, wo wir sahen eine einfache Nutzung für die Realisierung des klassischen Spiels Tic Tac Toe. Eine Matrix dieser Art ist vergleichbar mit einem rechteckigen Bereich w wie ein Schachbrett. Mit dieser Klasse können Sie behandeln ein Array wie ein Gitter mit seinen x-und y-Koordinaten. Die MatrixArray ich zum Beispiel, die Entwicklung der gesamten Logik des Editors Emotions Icons für Skype: Skypemote.

Methoden

Die Klasse MatrixArray daher erweitert die normale Klasse Array eine Reihe von nützlichen Möglichkeiten, zu verwalten und zu manipulieren m x n-Matrix. So erstellen Sie eine Matrix n x m ist genug zu verwenden:

Actionscript:
  1. / / Importanzione Klasse - wenn Sie die gesamte Bibliothek Undolibrary
  2. / / Alternativ können Sie einfach die Datei herunterladen und verwenden Sie es MatrixArray.as allein
  3. . MatrixArray ; Einfuhr undolibrary. utils. MatrixArray;
  4. / /
  5. MatrixArray ( 10 , 10 ) ; var aber: MatrixArray = new MatrixArray (10, 10);

Erstellt die 10x10 Matrix, wie im vorherigen Beispiel, können wir manipulieren sie mit nützlichen Methoden, die unsere Arbeit sehr schnell und einfach. In der Tat, die 10x10 Matrix ist nichts anderes als eine einfache lineare Array von 100 Stück!

Clip ()

Actionscript:
  1. / **
  2. * Restitusice einen rechteckigen Teil der Matrix in der Form MatrixArray
  3. *
  4. * @ Param (UINT) links Koordinaten x Schneiden
  5. * @ Param (UINT) sy y-Koordinaten des Schnittes
  6. * @ Param (UINT) cw horizontale Ausdehnung des Schnittes
  7. * @ Param (UINT) ch vertikale Größe des Schnittes
  8. * @ Ergebnis (MatrixArray) Eine neue Matrix x cw ch
  9. *
  10. * /
  11. :MatrixArray Clip (links: UINT, sy: UINT, cw: UINT, CH: UINT): MatrixArray
  12. / / Beispiel
  13. / / Erstellen Sie eine neue MatrixArray Koordinaten 2,2 und groß und hoch-5
  14. ( 2 , 2 , 5 , 5 ) ; var NMa: MatrixArray = ma. Clip (2, 2, 5, 5);

füllen ()

Actionscript:
  1. / **
  2. * Füllen Sie das Array mit einem Wert
  3. *
  4. * @ Param (vorhanden) Wert für die Aufnahme in die Matrix
  5. * /
  6. ; füllen (v *);

paintChar ()

Actionscript:
  1. / **
  2. * Füllen Sie das Array mit ein (nur) eine Probe aus einem String
  3. * Länge gleich der Größe der Matrix selbst
  4. *
  5. * @ Param (String) v-String mit der Anzahl der Zeichen auf der Karte
  6. * @ Ergebnis (boolean) ok true, false Fehler: string Länge falsch
  7. *
  8. * /
  9. ) paintChar (v: string)
  10. / / Beispiel
  11. MatrixArray ( 10 , 5 ) ; var aber: MatrixArray = new MatrixArray (10, 5);
  12. ma. paintChar (
  13. '**********' +
  14. '**##**##**' +
  15. '**********' +
  16. '**#####**' +
  17. '**********'
  18. );

flipH (), flipV ()

Actionscript:
  1. / **
  2. * Führt eine Reflexion orizziontale (flipH) oder
  3. * Vertical (flipV) direkt auf die Matrix
  4. * /
  5. flipH (): void
  6. flipV (): void

bewegen ()

Actionscript:
  1. / **
  2. * Bewegen Sie den Inhalt der Matrix (mit einer Schicht) in den vier
  3. * Richtung von einem vorher bestimmten offeset
  4. * /
  5. , oy: int ) : void bewegen (ox: int, Oy: int): void
  6. / /
  7. MatrixArray ( 10 , 5 ) ; var aber: MatrixArray = new MatrixArray (10, 5);
  8. ma. paintChar (
  9. '**********' +
  10. '**##**##**' +
  11. '**********' +
  12. '**#####**' +
  13. '**********'
  14. );
  15. 2 , 4 ) ; ma. bewegen (2, 4);
  16. / / Output
  17. **** ##**##
  18. **********
  19. **** #####
  20. **********
  21. **********

PEEK ()

Actionscript:
  1. / **
  2. * Gibt den Inhalt der Grid-Koordinaten x, y
  3. * /
  4. :* PEEK (x: UINT, y: UINT): *

Sack ()

Actionscript:
  1. / **
  2. * Stellt den Inhalt der Grid-Koordinaten x, y
  3. * /
  4. : void Sack (x: UINT, y: UINT): void

getString ()

Actionscript:
  1. / **
  2. * Wird für Debugging oft liefert die Matrix als String nxm
  3. * /
  4. getString (): String

Verwandte Post

Schreibe einen Kommentar

TAG XHTML <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <a <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Verwenden Sie <pre> zu umschließen Code