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:
- / / Importanzione Klasse - wenn Sie die gesamte Bibliothek Undolibrary
- / / Alternativ können Sie einfach die Datei herunterladen und verwenden Sie es MatrixArray.as allein
- . MatrixArray ; Einfuhr undolibrary. utils. MatrixArray;
- / /
- 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 ()
- / **
- * Restitusice einen rechteckigen Teil der Matrix in der Form MatrixArray
- *
- * @ Param (UINT) links Koordinaten x Schneiden
- * @ Param (UINT) sy y-Koordinaten des Schnittes
- * @ Param (UINT) cw horizontale Ausdehnung des Schnittes
- * @ Param (UINT) ch vertikale Größe des Schnittes
- * @ Ergebnis (MatrixArray) Eine neue Matrix x cw ch
- *
- * /
- :MatrixArray Clip (links: UINT, sy: UINT, cw: UINT, CH: UINT): MatrixArray
- / / Beispiel
- / / Erstellen Sie eine neue MatrixArray Koordinaten 2,2 und groß und hoch-5
- ( 2 , 2 , 5 , 5 ) ; var NMa: MatrixArray = ma. Clip (2, 2, 5, 5);
füllen ()
- / **
- * Füllen Sie das Array mit einem Wert
- *
- * @ Param (vorhanden) Wert für die Aufnahme in die Matrix
- * /
- ; füllen (v *);
paintChar ()
- / **
- * Füllen Sie das Array mit ein (nur) eine Probe aus einem String
- * Länge gleich der Größe der Matrix selbst
- *
- * @ Param (String) v-String mit der Anzahl der Zeichen auf der Karte
- * @ Ergebnis (boolean) ok true, false Fehler: string Länge falsch
- *
- * /
- ) paintChar (v: string)
- / / Beispiel
- MatrixArray ( 10 , 5 ) ; var aber: MatrixArray = new MatrixArray (10, 5);
- ma. paintChar (
- '**********' +
- '**##**##**' +
- '**********' +
- '**#####**' +
- '**********'
- );
flipH (), flipV ()
- / **
- * Führt eine Reflexion orizziontale (flipH) oder
- * Vertical (flipV) direkt auf die Matrix
- * /
- flipH (): void
- flipV (): void
bewegen ()
- / **
- * Bewegen Sie den Inhalt der Matrix (mit einer Schicht) in den vier
- * Richtung von einem vorher bestimmten offeset
- * /
- , oy: int ) : void bewegen (ox: int, Oy: int): void
- / /
- MatrixArray ( 10 , 5 ) ; var aber: MatrixArray = new MatrixArray (10, 5);
- ma. paintChar (
- '**********' +
- '**##**##**' +
- '**********' +
- '**#####**' +
- '**********'
- );
- 2 , 4 ) ; ma. bewegen (2, 4);
- / / Output
- **** ##**##
- **********
- **** #####
- **********
- **********
PEEK ()
- / **
- * Gibt den Inhalt der Grid-Koordinaten x, y
- * /
- :* PEEK (x: UINT, y: UINT): *
Sack ()
- / **
- * Stellt den Inhalt der Grid-Koordinaten x, y
- * /
- : void Sack (x: UINT, y: UINT): void
getString ()
- / **
- * Wird für Debugging oft liefert die Matrix als String nxm
- * /
- getString (): String





















Schreibe einen Kommentar