Autor Tópico: [Duvida]Flash Developer (problema com array)  (Lida 5048 vezes)

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Duvida]Flash Developer (problema com array)
« em: 10 de Maio de 2006, 10:36:13 »
Queria fazer um Array com matriz.
O que encontrei, dava o exemplo..
qqrcoisa[[0],[0]]=a;
qqrcoisa[[0],[1]]=b;
e assim por diante..
Até parecia estar a funcionar.
Mas quando faço o trace para me mostrar o valor de 0,0 , o valor que recebo é sempre do ultimo qqrcoisa que inseri no programa.
Alguem me explica pq?

Offline alftuga

  • Aprendiz
  • **
  • Mensagens: 202
    • Ver Perfil
    • http://www.alftuga.net
[Duvida]Flash Developer (problema com array)
« Responder #1 em: 10 de Maio de 2006, 11:24:28 »
var qqrcoisa:Array = new Array()
qqrcoisa[0] = ["Axpto0","Axpto1"]
qqrcoisa[1] = ["Bxpto0","Bxpto1"]
trace(qqrcoisa[0][0])
trace(qqrcoisa[0][1])
trace(qqrcoisa[1][0])
trace(qqrcoisa[1][1])

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Duvida]Flash Developer (problema com array)
« Responder #2 em: 10 de Maio de 2006, 14:16:17 »
Obrigado alftuga, era isto mesmo.
A ver agora se me entendo com isto...

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Duvida]Flash Developer (problema com array)
« Responder #3 em: 10 de Maio de 2006, 15:03:43 »
Bem, parece que ainda não está 100%.
Queria que cada matriz estivesse associada a um movie clip e que recebesse as suas coordenadas.
Será que a unica forma é atribui-las 1 a 1?
Ex:
qqrcoisa[0][0]._y=Axpto0._y;
...
Mas parece que assim tb não dá...
Alguem me ajuda?

Offline alftuga

  • Aprendiz
  • **
  • Mensagens: 202
    • Ver Perfil
    • http://www.alftuga.net
[Duvida]Flash Developer (problema com array)
« Responder #4 em: 10 de Maio de 2006, 16:10:39 »
var qqrcoisa:Array = new Array()
qqrcoisa[0] = [nomemovieA,nomemovieA._x,nomemovieA._y]
qqrcoisa[1] = [nomemovieB,nomemovieB._x,nomemovieB._y]
trace(qqrcoisa[0][0])// nome do movie
trace(qqrcoisa[0][1])// x
trace(qqrcoisa[0][2])// y
trace(qqrcoisa[1][0])// nome do movie
trace(qqrcoisa[1][1])// x
trace(qqrcoisa[1][2])// y

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Duvida]Flash Developer (problema com array)
« Responder #5 em: 10 de Maio de 2006, 16:56:23 »
já tou a perceber, então dá para pôr quaquer coisa mesmo(penso eu de q), é só dizer primeiro o que vamos inserir na matriz.
Obrigado alftuga.

Offline alftuga

  • Aprendiz
  • **
  • Mensagens: 202
    • Ver Perfil
    • http://www.alftuga.net
[Duvida]Flash Developer (problema com array)
« Responder #6 em: 10 de Maio de 2006, 17:35:33 »
sim qualquer coisa mesmo referencias de class... de funções etc etc

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Duvida]Flash Developer (problema com array)
« Responder #7 em: 11 de Maio de 2006, 18:58:11 »
Parece que há aqui alguma coisa que me falha...
Fiz como tens aí, mas so com o movieA._y e B.
Depois tentei mudar as coordenadas.
Fiz..
qqrcoisa[0][0]=50;

No trace aparece o valor 50, mas o movie continua no mesmo sitio.
Tentei com outros valores e com 0 , 1 e outros, o resultado é o mesmo.
Não tou mesmo a perceber o que se passa..

Offline alftuga

  • Aprendiz
  • **
  • Mensagens: 202
    • Ver Perfil
    • http://www.alftuga.net
[Duvida]Flash Developer (problema com array)
« Responder #8 em: 11 de Maio de 2006, 19:20:34 »
pois continua eu nunca disse que o inserir informação dentro do array ias poder mudar a posição do movie...

quando utilizas um array é para guardar informação

se queres mudar o movie de sitio com acesso o array e uma outra historia.

//se este script deve estar na timeline onde estão os movies
var caminho = this;
var qqrcoisa:Array = new Array()
qqrcoisa[0] = [nomemovieA,nomemovieA._x,nomemovieA._y]
caminho[qqrcoisa[0][0]]._y = 50
qqrcoisa[0] = [nomemovieA,nomemovieA._x,nomemovieA._y]
trace(qqrcoisa[0][2])

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Duvida]Flash Developer (problema com array)
« Responder #9 em: 12 de Maio de 2006, 10:03:27 »
Bem!!É estranho!!
Já agora, se poderes explicar pq funciona assim, agradecia.
Em principio, se usar o root, tb deve dar, não?

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Duvida]Flash Developer (problema com array)
« Responder #10 em: 12 de Maio de 2006, 10:22:57 »
Testei mas não funciona.
Agora nem o trace altera...
Eu já consegui mover MClips com arrays, mas não com matrizes.
Não sei qual a diferença mas a verdade é que não funciona da mesma forma.

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Duvida]Flash Developer (problema com array)
« Responder #11 em: 12 de Maio de 2006, 11:07:48 »
Afinal ja consegui!!!
Não sei se foi por isto, mas defini primeiro todas as coordenadas para todos os MC e depois atribui a cada ponto da matriz um MC.
EX:
MC1._x=10;
MC2._x=20;
MC3._x=30;
var a:Array=new Array();
a[0]=[MC1,MC2,MC3];
a[0][1]._x=40;

Ainda não sei é como mudar toda a mariz de uma vez.
Experimentei a[0]=40, mas não funciona, este a[0] em principio deveria ser toda a matriz, não?

Offline alftuga

  • Aprendiz
  • **
  • Mensagens: 202
    • Ver Perfil
    • http://www.alftuga.net
[Duvida]Flash Developer (problema com array)
« Responder #12 em: 12 de Maio de 2006, 23:13:32 »
Bem luis primeiro desculpa pelo meu portugés porque não domino a lingua.
podes me explicar o que queres exactamente fazer com essa matriz?
aqui poes na posição 0 do array um outro array com tres movies certo ?

a[0]=[MC1,MC2,MC3];

o que vais por então na posição 1 ?
a[1] = ????

não entendo o que queres fazer...
diz o teu projecto, porque assim é muito duro ajudar.

Offline alftuga

  • Aprendiz
  • **
  • Mensagens: 202
    • Ver Perfil
    • http://www.alftuga.net
[Duvida]Flash Developer (problema com array)
« Responder #13 em: 12 de Maio de 2006, 23:20:49 »
é pessimo usar esta palavra "_root" nos projectos

Offline luis_oliveira_3

  • Aprendiz
  • **
  • Mensagens: 92
    • Ver Perfil
[Duvida]Flash Developer (problema com array)
« Responder #14 em: 13 de Maio de 2006, 10:21:30 »
Não te preocupes com a lingua, eu sou portugues e tb não a domino.
A posição 1 seriam mais 3 MCs.
o meu projecto é fazer um menu com uma barra que se desloca pelos itens do menu conforme pressionamos as teclas direccionais cima e baixo, e muda para submenus ao pressionar as direccionais esquerda direita.
Para mudar para o submenu certo, o programa precisa de saber em que iten está, por isso pensei fazer-lo com o array.
Não sei se é a melhor forma de o fazer, mas é a forma que domino, mais ou menos!!!
Penso que já resolvi o problema, obrigado pela ajuda.
Mas se souberes uma forma mais simples de fazer isto, agradeço a tua ajuda.

 




Roleta das Anedotas - Abre noutra janela