Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    100

    Problemi con attachMovie (AS 2)

    Ciao a tutti, questa volta il mio problema è un po' contorto ma spero possiate aiutarmi
    praticamente io ho creato una sorta di tastierino numerico e ogni volta che premo uno di questi tasti faccio comparire sullo stage dalla libreria (tramite la funzione attachMovie) il numero relativo. Dopodichè però ho creato un pulsante cancella che dovrebbe eliminarmi l'ultima cifra inserita, ma se io per esempio clicco due volte sull'uno lui mi attacca due volte l'uno (naturalmente in due postazioni diverse come ho stabilito io) ma se premo cancella lui mi elimina il primo dei due che ho inserito e non l'ultimo come vorrei io...
    Spero di essermi spiegato e vi prego ditemi come posso fare per risolvere...

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    A caso (ci vorrebbe il codice) potrebbe dipendere dal fatto che imposti lo stesso nome di istanza per entrambe le copie del clip.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    100
    ma perchè anche se hanno lo stesso nome lui mi leva il primo che ha creato e non il secondo? non potrebbe essere più una questione di profondità? come potrei risolvere in altro modo?

    questo cmq è una parte di codice relativa all'attachMovie per un tasto, ma ci sono anche inserite altre cose più specifiche per il mio file che non sto a spiegare...

    tasti.tasto.onRelease = function() {
    risposte.push(1);
    if (risposte.length <= pos.length)
    {
    _root.attachMovie("cella1", "cella1", _root.getNextHighestDepth(), {_xos[n], _y:150});
    }

    come è evidente ogni volta che viene premuto crea un clip con sempre lo stesso nome (ma non saprei come fare in altro modo...)

    e questo è il codice del tasto cancella:

    removeMovieClip("cella"+risposte[risposte.length - 1]);


    Qualche idea o suggerimento?

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Considerando che usi già un array, potresti inserire i movieclip direttamente nell'array e usare quell'indice per cancellare sempre l'ultimo inserito.
    Quando si usano gli stessi nomi per i clip ci son sempre problemi, in un senso o nell'altro (anche in AS3) quindi non mi stupisco del fatto che la libera scelta del flash player ricada sul primo e non sul secondo clip attaccato.

    Il codice non l'ho capito bene, è quello che è legato ai tasti che attaccano i "numeri" da libreria?

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    100
    per comodità io attacco dalla libreria un mc (tasti) con al suo interno tutti i pulsanti di ogni numero (tasto, tasto2, tasto3, ecc....), premendo i pulsanti "attacco" sullo stage dei mc (cella1, cella2, ecc...), graficamente diversi dai pulsanti.

    mi spieghi meglio come posso fare precisamente ad inserire ogni volta il mc relativo al numero "attaccato" in un array?


    _root.attachMovie("cella2", "cella2", _root.getNextHighestDepth(), {_xos[n], _y:150});

    semplicemente inserendo mioarray.push("cella2") mi inserisce i mc nell'array?

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    al posto della riga che hai scritto nell'ultimo messaggio fai così:

    var mc = _root.attachMovie("cella2", "cella2", _root.getNextHighestDepth(), {_xos[n], _y:150});
    e nell'array fai ogni volta così:

    mioarray.push(mc)

    così quando devi rimuovere l'mc farai

    removeMovieClip(mioarray[mioarray.length-1]);

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    100
    apposto grazie, ora provo...
    in caso riposterò!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    100
    mmmm...
    risposta negativa, mi fa lo stesso problema...perchè dentro questo array inserisce (se premo lo stesso numero) due volte la stessa variabile, e quando gli dico di cancellare cancella esattamente come prima la prima che ho caricato sull'array...
    ti torna o ho sbagliato io da qualche parte e non dovrebbe fare così?

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Immagino che comunque il problema del nome rimanga lo stesso, puoi usare il getNextHighestDepth per dare un nome con numero casuale ogni volta che fai l'attachMovie:

    var n = _root.getNextHighestDepth()
    var mc = _root.attachMovie("cella2", "cella"+n, n, {_xos[n], _y:150});

    Penso che possa funzionare.

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    100
    ...aaaaaaargh, test negativo un'altra volta...sto impazzendo

    var n1 = _root.attachMovie("cella1", "cella1"+depth, _root.getNextHighestDepth(), {_xos[n], _y:150});

    non ho potuto sostituire in questa funzione come me l'hai detta il valore di profondità con la variabile creata prima depth = _root.getNextHighestDepth perchè mi attacca il numero solo una prima volta mentra la seconda volta me lo elimina anzicche aggiungerlo...
    e anche scritta così il problema persiste persiste e persiste!!

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.