Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 30

Discussione: Variabili e mc

  1. #1

    Variabili e mc

    Salve a tutti,
    vorrei sapere se esiste un modo per settare in una variabile il nome di istanza di un mc che è in azione.
    Grazie

  2. #2
    Intendi una cosa tipo

    nomevar = mc._name

    ?

  3. #3
    Premetto che sono da poco entrato nel mondo dell'as, e forse mi sbaglio... ma con quel codice non mi setto l'istanza di una qualunque mc?
    Io vorrei far capire a flash qual'è l'istanza dell'mc in azione in un determinato momento e racchiuderla in una variabile...

    Esempio: ho tre bottoni che mi rimandano in 3 mc diversi, clicco il bottone 2 e mi fa partire l'mc2. Come faccio a fargli capire una volta che ho cliccato il bottone1 che l'mc che era in azione era il 2?

  4. #4
    Più nel dettaglio:
    ho 3 bottoni a cui associo questa azione:
    on (release) {
    if (pag2._currentframe==21) {
    pag2.gotoAndPlay(22);
    } else {
    pag2.stop();
    }
    }
    on (release) {
    if (pag3._currentframe==21) {
    pag3.gotoAndPlay(22);
    } else {
    pag3.stop();
    }
    }
    on (release) {
    if (pag1._currentframe==1) {
    pag1.gotoAndPlay(2);
    }
    }
    pag1 pag2 e pag3 sono rispettivamente gli mc del bottone1 bottone2 e bottone3. il frame 21 è il frame di stop per ogni mc e il frame22 corrisponde all'inizio del filmato di chiusura di ogni mc.
    Così come funziona adesso, se clicco su bottone1 mi si apre pag1, ma se dopo clicco sul bottone2 in contemporanea mi apre pag2 e mi esegue la chiusura di pag1. Io vorrei fare in modo che pag2 mi parta solo quando pag1 sia chiuso, quindi sia arrivato all'ultimo frame.

  5. #5
    Sì con quello che ti ho dato vale per tutti...per individuare quello "in azione" dipende prima di tutto da cosa farebbe il movieclip in azione...ad esempio se fa un semplice play mentre gli altri sono fermi, basterebbe controllare quale mc è su un frame diverso dall'uno...
    Oppure se ogni bottone attiva un movieclip diverso basta assegnare alla variabile il valore del movieclip che fa partire il bottone...

    Ad esempio se il bottone2 fa partire mc2

    on(release){
    //blablalba
    attivo = mc2._name
    }

  6. #6
    Ok vedo se riesco a risolvere il prob con le dritte che mi hai dato, altrimenti torno ad abusare del tuo aiuto =)
    Grazie mille!

  7. #7
    Mi sorge subito un dubbio però...

    se io sistemo in questo modo l'azione associata ai bottoni:

    on (release) {
    if (pag1._currentframe==21) {
    pag1.gotoAndPlay(22);
    } else {
    pag1.stop();
    }
    }
    on (release) {
    if (pag2._currentframe==21) {
    pag2.gotoAndPlay(22);
    } else {
    pag2.stop();
    }
    }
    on (release) {
    if (pag3._currentframe==1) {
    pag3.gotoAndPlay(2);
    }
    attivo = pag3._name;
    }

    Quando vado a cliccare mi setta subito la variabile.

    Io ad ogni bottone ho 1 mc diverso che per adesso fa una semplice animazione di apertura di una finestra fino allo stop (frame21) e di chiusura della finestra (da frame22 a frame41).

    Come faccio a dirgli che prima di caricarmi l'mc associato al bottone che ho cliccato, deve prima farmi un play della chiusura dell'mc che ho cliccato in precedenza?
    E c'è di più, avrò anche il caso in cui in precedenza non avrò cliccato nessun bottone...

    Sono 3 giorni che mi scervello dietro sta cosa, sto impazzendo!

  8. #8
    Se non hai cliccato nessun pulsante le variabile non avrà alcun valore quindi non vedo il problema...

    Per far chiudere un altro mc quando ne vuoi aprire uno, devi aggiungere un if...in pratica se clicchi sul pulsante 2 prima di aprirlo controlli se 1 (o 3) sono aperti e nel qual caso li chiudi

  9. #9
    Scusami lo so che per te può sembrare una cosa facilissima, ma ahimè per me sta diventando una cosa allucinante...
    Ho provato aggiungendo un if:

    on (release) {
    if (pag1._currentframe==21) {
    pag1.gotoAndPlay(22);
    } else {
    pag1.stop();
    }
    }
    on (release) {
    if (pag2._currentframe==21) {
    pag2.gotoAndPlay(22);
    } else {
    pag2.stop();
    }
    }
    on (release) {
    if (pag3._currentframe==1) {
    if (attivo=pag2._name) {
    pag2.gotoAndPlay(22);
    }
    else if (attivo=pag1._name) {
    pag1.gotoAndPlay(22);
    }
    pag3.gotoAndPlay(2);
    attivo = pag3._name;
    }
    }

    Così facendo mi esegue l'animazione di chiusura su qualsiasi bottone anche se per la prima volta, e cmq mi esegue il l'apertura e la chiusura assieme...

    Io ci sto mettendo tutta la buona volontà ma di sicuro c'è un errore di fondo nel ragionamento che non riesco a trovare...

  10. #10
    Scusa ma le azioni che posti sopra sono associate a diversi pulsanti, giusto?
    Cioè non è un'unica azione...il primo pezzo è al primo pulsante, il secondo al secondo...etc...o no? :master:

    Il concetto è una cosa del tipo

    Al bottone che apre pag1, associare

    on (release) {
    if(pag2._currentframe==21){
    // chiudi pag2...
    }
    if(pag3._currentframe==21){
    // chiudi pag3
    }
    if (pag1._currentframe==21) {
    pag1.gotoAndPlay(22);
    } else {
    pag1.stop();
    }
    }

    (è solo una 'bozza' per farti capire il concetto )

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.