Visualizzazione dei risultati da 1 a 6 su 6

Discussione: variabile da bottone

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    410

    variabile da bottone

    Buon giorno a tutti,
    credo di avere un problema "stupido":

    nel fotogramma 1 ho un codice che duplica una clip con dentro un bottone.
    Nel codice, per identificare bottone e mc uso il nome di due variabili dichiarate all'inizio:
    copia = "clip";
    bottone = "clip_btn";
    e tutto funziona... ora però, siccome ho varie clip da duplicare volevo impostare la variabile dal bottone che queste contengono e ho provato così:

    _root.copia = "clip2"
    _root.bottone = "clip_btn2"

    ma non funziona...

    grazie

  2. #2
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870
    Ciao, sono Daniele85

    Forse non ti sei spiegato bene, cmq cerco di darti una mano.

    il bottone se si trova nel movie clip non puoi cambiargli nome,

    per incrementare il nome del movie invece basta che fai così


    for (conta=1;conta < 50 ;conta++){

    duplica(movie,"movie"+conta,conta)

    cosi duplichi il movie.



    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    410
    Intanto grazie,
    provo a spiegarmi meglio.
    ho una serie di movieclip con dentro dei bottoni.
    diciamo:
    clip, clip2, clip3 etc.
    con all'interno
    clip_btn, clip_btn2, etc. etc.

    a questo punto nel fotogrammaa 1 ho un'azione che mi permette la duplicazione della clip. per non dover fare un'azione per ogni clip ho messo delle variabili che dichiaro all'inizio dello scripte cioè:
    copia = "clip";
    bottone = "clip_btn";

    adesso vorrei fare in modo che cliccando su clip3 le variabili venissero cambiate in:

    copia = "clip3";
    bottone = "clip_btn3";

    di modo che le azioni funzionino duplicandomi clip3 e non + clip1...


  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    410
    A nessuno viene in mente come si modifica il valore di una variabile da un bojavascript:smilie(':master:')
    Mmmm... strano... molto stranottone? A me proprio non riesce !!! :master:

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    410
    ecco il codice... chissa che sia chiarificatore...

    //duplicate movie
    var copia:String = "icon_mc";
    var bottone:String = "icon_btn";
    var iconDepth:Number = 0;
    function duplica() {
    for (var i = 0; i < _root[copia]._totalframes; ++i) {
    var newName:String = "copia" + i;
    var clip:MovieClip = _root[copia].duplicateMovieClip(newName, 10000 + i);
    clip.gotoAndStop(i + 1);
    clip.homeX = clip._x;
    clip.homeY = clip._y;
    clip[bottone].onRelease = function() {
    _root.iconReleased(this._parent);
    };
    }
    }
    duplica();
    function iconReleased(icon:MovieClip) {
    if (_root.mc_release.hitTest(_root._xmouse, _root._ymouse)) {
    ++iconDepth;
    var newName:String = "object" + iconDepth + "_mc";
    var clip:MovieClip = icon.duplicateMovieClip(newName, iconDepth);
    clip.gotoAndStop(icon._currentFrame);
    clip.btn.enabled = false;
    clip._xscale = 100;
    clip._yscale = 100;
    }
    icon._x = icon.homeX;
    icon._y = icon.homeY;
    }
    // questo secondo me il codice che dovrebbe cambiare il valore delle variabili
    icon_mc2.icon_btn2 = function () {
    bottone = "icon_btn2";
    copia = "icon_mc2";

    se volete vedere cosa dovrebbe succedere: clicca


    il fla:

    fla

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    410
    ho fatto delle modifiche, in realtà le variabili venivano passate ma era la funzione che non veniva richiata... penso.
    comunque adesso le mc si duplicano ma in maniera sbagliata.
    il concetto infatti era di lasciare sempre l'mc originale sul posto e duplicarla se rilasciata sopra la griglia e non quello che succede ora!

    comincio ad essere disperato!

    ecco cosa ho combinato:


    nel 1 fotogramma:

    //duplicate movie
    var copia:String;
    var bottone:String;
    var iconDepth:Number = 0;
    function duplica() {
    for (var i = 0; i < _root[copia]._totalframes; ++i) {
    var newName:String = [copia] + i;
    var clip:MovieClip = _root[copia].duplicateMovieClip(newName, 10000 + i);
    clip.gotoAndStop(i + 1);
    clip.homeX = clip._x;
    clip.homeY = clip._y;
    clip[bottone].onRelease = function() {
    _root.rilascia(this._parent);
    };
    }
    }
    duplica();
    function rilascia(icon:MovieClip) {
    if (_root.mc_release.hitTest(_root._xmouse, _root._ymouse)) {
    ++iconDepth;
    var newName:String = "object" + iconDepth + "_mc";
    var clip:MovieClip = icon.duplicateMovieClip(newName, iconDepth);
    clip.gotoAndStop(icon._currentFrame);
    clip.btn.enabled = false;
    clip._xscale = 100;
    clip._yscale = 100;
    }
    icon._x = icon.homeX;
    icon._y = icon.homeY;
    }
    // questo secondo me il codice che dovrebbe cambiare il valore delle variabili
    icon_mc.icon_btn.onPress = duplica;
    icon_mc.icon_btn.onRelease = rilascia;
    icon_mc2.icon_btn2.onPress = duplica;
    icon_mc2.icon_btn2.onRelease = rilascia;

    nei pulsanti:

    on (press) {
    _root.bottone = "icon_btn";
    _root.copia = "icon_mc";
    this._alpha = 50;
    startDrag (this, false);
    var lastClick:Number;
    if(getTimer() - lastClick <500){
    this._rotation = this._rotation + 90;
    }
    lastClick = getTimer();
    }
    on (release) {
    this._alpha = 100;
    stopDrag () ;
    }

    oramai a furia di riprovare ho fatto su un casino

    se volete vedere il nefasto risultato:


    qui

    per il fla:
    fla

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 © 2026 vBulletin Solutions, Inc. All rights reserved.