Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,610

    componente copia per valore

    è possibile ?

    e se si come....

    vi spiego

    ho un componente che dentro ha due array (x,y)

    ora io devo prendere questi valore e metterli dentro un'altro
    array siccome non trovato nessun'altro modo per copiare questi valori ho preso direttamente tutto l'oggetto (mi ricordavo di un object ma bo ) e messo dentro l'array

    cos'

    _root.frame.push(_root["obj"+i]); (i perchè sono tanti)

    poi per recuperarlo faccio cos' :
    n = _root.nframe.text;
    frame = _root.animation[n];
    ma non funge perchè si riferisce sempre al primo
    in sostanza devo fare un copia di valori ed invece me li perdo :|

    R.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    mioarray=miocomponente.altroarray.slice();

    oppure fai un ciclo for:
    mioarray=new Array();
    for(i=0;i<miocomponente.altroarray.length;i++){
    mioarray.push(miocomponente.altroarray[i]);
    }
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,610
    Originariamente inviato da GunraY
    mioarray=miocomponente.altroarray.slice();

    oppure fai un ciclo for:
    mioarray=new Array();
    for(i=0;i<miocomponente.altroarray.length;i++){
    mioarray.push(miocomponente.altroarray[i]);
    }
    Grazie va :-)

    domanda:
    per mettere i dati dentro l'array faccio cos'
    on (release) {
    //var artemp = new Arra();
    for (i=0; i<_root.maxel; i++) {
    var struct = new Object();
    struct.ar_x = _root["obj"+i].ar_x.slice();
    struct.ar_y = _root["obj"+i].ar_y.slice();
    _root.frame.push(struct);
    }
    _root.animation.push(_root.frame);
    }

    secondo lo devo cancellare struct ? oppure se ne occupa flash ...

    p.s
    domandone :

    dentro una classe uso private var nome :Array
    però ho notato che anche se ci accedo il compilatore non mi dice niente
    come mai ?
    R.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    on (release) {
    //var artemp = new Arra();
    for (i=0; i<_root.maxel; i++) {
    var struct = new Object();
    ar_x = _root["obj"+i].ar_x.slice();
    ar_y = _root["obj"+i].ar_y.slice();
    _root.frame.push(struct);
    }
    _root.animation.push(_root.frame);
    }

    non ci ho capito niente... _root.maxel che è?
    e poi... a che serve struct? toglilo...

    ar_x = _root["obj"+i].ar_x.slice();
    ar_y = _root["obj"+i].ar_y.slice();
    _root.mioArray.push([ar_x,ar_y]);

    e poi non userei "frame" come nome di niente, magari è proprietario...

    poi quel push finale che è? non capisco a cosa serva avere un ulteriore array chiamato animation...

    per la domanda sulla classe non so, sono un pò somaro su ste robe
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,610
    Originariamente inviato da GunraY
    on (release) {
    //var artemp = new Arra();
    for (i=0; i<_root.maxel; i++) {
    var struct = new Object();
    ar_x = _root["obj"+i].ar_x.slice();
    ar_y = _root["obj"+i].ar_y.slice();
    _root.frame.push(struct);
    }
    _root.animation.push(_root.frame);
    }

    non ci ho capito niente... _root.maxel che è?
    e poi... a che serve struct? toglilo...

    ar_x = _root["obj"+i].ar_x.slice();
    ar_y = _root["obj"+i].ar_y.slice();
    _root.mioArray.push([ar_x,ar_y]);

    e poi non userei "frame" come nome di niente, magari è proprietario...

    poi quel push finale che è? non capisco a cosa serva avere un ulteriore array chiamato animation...

    per la domanda sulla classe non so, sono un pò somaro su ste robe
    strut mi serve perchè così tengo compatti i valori,

    purtroppo ho il problema di prima qua devo copiare il valore non il riferimento

    _root.animation.push(_root.frame);

    ma frame è un array
    ho provato così
    _root.animation.push(_root.frame.slice());
    e così
    _root.animation.push _root.frame.slice();
    ma niente :|
    R.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    _root.animation=_root.frame.slice();
    ovvero crei un array chiamato animation che è la copia esatta di _root.frame.

    la cosa del tenere compatti i valori... boh, a me sembra un passaggio in più, visto che arr_x e arr_y servono solo a pushare gli array in _root.frame... anzi, potevi fare

    for (i=0; i<_root.maxel; i++) {
    _root.frame.push([_root["obj"+i].ar_x.slice(),_root["obj"+i].ar_y.slice()]);
    }

    tanto struct sarà un oggetto con gli ultimi due ar_x e ar_y (visto che con il for li sovrascrivi ogni ciclo)... l'unico vantaggio è, al max, che fai un singolo delete al momento di fare pulizia invece che due... boh, fai tu
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,610
    Originariamente inviato da GunraY
    _root.animation=_root.frame.slice();
    ovvero crei un array chiamato animation che è la copia esatta di _root.frame.

    la cosa del tenere compatti i valori... boh, a me sembra un passaggio in più, visto che arr_x e arr_y servono solo a pushare gli array in _root.frame... anzi, potevi fare

    for (i=0; i<_root.maxel; i++) {
    _root.frame.push([_root["obj"+i].ar_x.slice(),_root["obj"+i].ar_y.slice()]);
    }

    tanto struct sarà un oggetto con gli ultimi due ar_x e ar_y (visto che con il for li sovrascrivi ogni ciclo)... l'unico vantaggio è, al max, che fai un singolo delete al momento di fare pulizia invece che due... boh, fai tu
    però animation deve essere un array di frame :|
    _root.animation.push(_root.frame.slice()); così nn va
    R.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,610
    Originariamente inviato da yag
    però animation deve essere un array di frame :|
    _root.animation.push(_root.frame.slice()); così nn va
    ok risolto
    R.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.