Undolibrary MatrixArray: eine Erweiterung der Array-Klasse

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
/ **
* Gibt den Inhalt des Arrays an den Koordinaten x, y
* /
: uint , y : uint ) :* peek (x: uint , y: uint ): *

poke ()

1
2
3
4
/ **
* Stellt den Inhalt der Matrix, um die Koordinaten x, y
* /
: uint , y : uint ) : void poke (x: uint , y: uint ): void

getString ()

1
2
3
4
/ **
Oft zum Debuggen * verwendet das Array als String nxm
* /
String getString (): String

Es gibt keine Kommentare für diesen Beitrag

Hinterlasse einen Kommentar

XHTML TAG PERMIT: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERTION CODE:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL