Undolibrary MatrixArray: uma extensão da classe Array

Segunda-feira, 15 de setembro de 2008

MatrixArray é uma extensão da classe Array do ActionScript 3.0, com o objectivo de simplificar o manuseio de Array utilizada como uma matriz linear n x m. Essa classe é parte da biblioteca Undolibrary (no pacote undolibrary.utils.MatrixArray descarregar gratuitamente a partir do código do Google através de qualquer cliente SVN (Subversion) no seguinte endereço:
svn checkout http://undolibrary.googlecode.com/svn/trunk/
Ou você pode simplesmente fazer o download do arquivo MatrixArray.as. Um exemplo do uso de matrizes linear foi dada em ActionScript 3.0 para iniciantes: lição # 2 quando vimos uma simples utilização para a realização do clássico jogo Tic Tac Toe. Uma matriz deste tipo é comparável a uma área retangular w x h um tabuleiro de xadrez. Com esta classe você pode tratar um array, como uma grade com suas coordenadas x e y. O MatrixArray eu utilizar, por exemplo, o desenvolvimento de toda a lógica do editor Emoções Ícones para Skype: Skypemote.

Métodos

A classe MatrixArray portanto, amplia o normal classe Array acrescentando uma série de formas úteis para gerenciar e manipular m x n matriz. Para criar uma matriz n x m é o suficiente para usar:

Actionscript:
  1. / / Importanzione classe - se você baixou a biblioteca inteira Undolibrary
  2. / / Alternativamente você pode apenas fazer o download do ficheiro e utilizá-lo sozinho MatrixArray.as
  3. . MatrixArray ; undolibrary importação. utils. MatrixArray;
  4. / /
  5. MatrixArray ( 10 , 10 ) ; var mas: MatrixArray = new MatrixArray (10, 10);

Criada a matriz 10x10, como no exemplo anterior, podemos manipulá-los com os métodos úteis que tornam o nosso trabalho muito rápido e fácil. De fato, a matriz 10x10 não é nada mais do que uma simples matriz linear de 100 itens!

clipe ()

Actionscript:
  1. / **
  2. * Restitusice uma porção retangular da matriz na forma MatrixArray
  3. *
  4. * @ Param (UINT) deixou coordenadas x corte
  5. * @ Param (UINT) y sy coordenadas do corte
  6. * @ Param (UINT) cw tamanho horizontal do recorte
  7. * @ Param (UINT) ch o tamanho do corte vertical
  8. * @ Result (MatrixArray) Uma nova matriz x cw ch
  9. *
  10. * /
  11. :MatrixArray clip (esquerda: UINT, sy: UINT, cw: UINT, ch: UINT): MatrixArray
  12. / / Exemplo
  13. / / Criar um novo MatrixArray coordenadas e em larga 2,2 e alto-5
  14. ( 2 , 2 , 5 , 5 ) ; var NMa: MatrixArray = ma. clipe (2, 2, 5, 5);

encher ()

Actionscript:
  1. / **
  2. * Preencha o array com um valor
  3. *
  4. * @ Param (qualquer) valor a ser incluídas na matriz
  5. * /
  6. ; encher (v *);

paintChar ()

Actionscript:
  1. / **
  2. * Com o Encha a um array (apenas) uma amostra de uma seqüência
  3. * Comprimento igual ao tamanho da matriz em si
  4. *
  5. * @ Param (string) v string com o número de caracteres para mapear
  6. * @ Result (boolean) ok verdadeiro, falso erro: string comprimento errado
  7. *
  8. * /
  9. ) paintChar (v: string)
  10. / / Exemplo
  11. MatrixArray ( 10 , 5 ) ; var mas: MatrixArray = new MatrixArray (10, 5);
  12. ma. paintChar (
  13. '**********' +
  14. '**##**##**' +
  15. '**********' +
  16. '**#####**' +
  17. '**********'
  18. );

flipH (), flipV ()

Actionscript:
  1. / **
  2. * Realiza uma reflexão orizziontale (flipH) ou
  3. * Vertical (flipV) diretamente sobre a matriz
  4. * /
  5. flipH (): void
  6. flipV (): void

mover ()

Actionscript:
  1. / **
  2. * Mova o conteúdo da matriz (executando um turno) nos quatro
  3. * Direção de uma determinada offeset
  4. * /
  5. , oy: int ) : void mover (ox: int, oy: int): void
  6. / /
  7. MatrixArray ( 10 , 5 ) ; var mas: MatrixArray = new MatrixArray (10, 5);
  8. ma. paintChar (
  9. '**********' +
  10. '**##**##**' +
  11. '**********' +
  12. '**#####**' +
  13. '**********'
  14. );
  15. 2 , 4 ) ; ma. mover (2, 4);
  16. / / Output
  17. **** ##**##
  18. **********
  19. **** #####
  20. **********
  21. **********

peek ()

Actionscript:
  1. / **
  2. * Retorna o conteúdo da grade coordenadas x, y
  3. * /
  4. :* espreitar (x: UINT, y: UINT): *

cotovelada ()

Actionscript:
  1. / **
  2. * Define o conteúdo da grade coordenadas x, y
  3. * /
  4. : void cotovelada (x: UINT, y: UINT): void

getString ()

Actionscript:
  1. / **
  2. * Usado para depuração muitas vezes retorna a matriz como uma seqüência nxm
  3. * /
  4. getString (): String

Post relacionado

Deixe um comentário

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

Use <pre> para circundar código