Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    tooltip con acton script...problema di percorsi?

    ciao

    ho costruito un piccolo tooltip che appare e segue il mouse quando passo sulla miniatura di un prodotto, con questo script

    codice:
    tooltip_mc._alpha = 0;
    tooltip_mc.point._visible = false;
    function fadeIn() {
    	if (tooltip_mc._alpha<=100) {
    		tooltip_mc._alpha += 20;
    	}
    }
    function fadeOut() {
    	if (tooltip_mc._alpha>=0) {
    		tooltip_mc._alpha -= 20;
    	}
    }
    
    this.onEnterFrame = function () {
    	tooltip_mc.startDrag([lockCenter]);
    	//tavolo1_mc è il nome istanza della miniatura
    	if (tooltip_mc.point.hitTest(tavolo1_mc)) {
    		tooltip_mc.info = "Acero Sellaro";
    		fadeIn();
    	} else if (tooltip_mc.point.hitTest(tavolo2_mc)) {
    		tooltip_mc.info = "Aiosa Rimadesio";
    		fadeIn();
    	} else if (tooltip_mc.point.hitTest(tavolo3_mc)) {
    		tooltip_mc.info = "Nirvana Rimadesio";
    		fadeIn();
    	} else if (tooltip_mc.point.hitTest(tavolo4_mc)) {
    		tooltip_mc.info = "Folletto Rimadesio";
    		fadeIn();
    	} else if (tooltip_mc.point.hitTest(tavolo5_mc)) {
    		tooltip_mc.info = "Kartell";
    		fadeIn();
    	} else if (tooltip_mc.point.hitTest(tavolo6_mc)) {
    		tooltip_mc.info = "Kartell";
    		fadeIn();
    	} else {
    		fadeOut();
    	}
    };
    questo script è inserito sul primo frame della timeline di in un movie clip che contiene tutte le miniature dei prodotti di un detemrinato reparto - nell'esempio "TAVOLI"


    poi ho altri movie clip ad esempio "SEDIE" e lo script si ripete, con gli opportuni adattamenti

    codice:
    tooltip_mc._alpha = 0;
    tooltip_mc.point._visible = false;
    function fadeIn() {
    	if (tooltip_mc._alpha<=100) {
    		tooltip_mc._alpha += 20;
    	}
    }
    function fadeOut() {
    	if (tooltip_mc._alpha>=0) {
    		tooltip_mc._alpha -= 20;
    	}
    }
    
    this.onEnterFrame = function () {
    	tooltip_mc.startDrag([lockCenter]);
    	//seduta1_mc è il nome istanza della miniatura
    	if (tooltip_mc.point.hitTest(seduta1_mc)) {
    		tooltip_mc.info = "Acero Sellaro";
    		fadeIn();
    	} else if (tooltip_mc.point.hitTest(seduta2_mc)) {
    		tooltip_mc.info = "Aiosa Rimadesio";
    		fadeIn();
    	} else if (tooltip_mc.point.hitTest(seduta3_mc)) {
    		tooltip_mc.info = "Nirvana Rimadesio";
    		fadeIn();
    	} else if (tooltip_mc.point.hitTest(seduta4_mc)) {
    		tooltip_mc.info = "Folletto Rimadesio";
    		fadeIn();
    	} else if (tooltip_mc.point.hitTest(seduta5_mc)) {
    		tooltip_mc.info = "Kartell";
    		fadeIn();
    	} else if (tooltip_mc.point.hitTest(seduta6_mc)) {
    		tooltip_mc.info = "Kartell";
    		fadeIn();
    	} else {
    		fadeOut();
    	}
    };
    però lo scirpt funziona solo sui tavoli...cioè sul primo mc...
    c'è un problema di percorsi?
    un probelma di conflitto tra i nomi delle istanze?
    in effetti in tutti i movie clip il "fumetto" si chiama tooltip_mc...
    come si può risolvere?
    grazie
    mondini multimedia blog - grafica, web design, 3d

  2. #2
    Onestamente non lo imposterei così ma esattamente al contrario

    esempio
    Codice PHP:
    // array info tavoli
    // creo un vettore con le informazioni da dare al tooltip

    Tavoli_Info_array = new Array()
    Tavoli_Info_array[1] = "Acero Sellaro"
    Tavoli_Info_array[2] = "Aiosa Rimadesio"
    Tavoli_Info_array[3] = "Nirvana Rimadesio"
    Tavoli_Info_array[4] = "Folletto Rimadesio"
    Tavoli_Info_array[5] = "Kartell"
    Tavoli_Info_array[6] = "Kartell"


    // creo prototype tavoli
    // ogni volta che vado sopra un tavolo assegno al campo testo la corretta denominazione
    // ed eseguo per tramite del suo STATO il fadeIN o fadeOut
    // controllati dal RollOver o RollOut

    MovieClip.prototype.InfoTavoli=function(){

               
    this.onRollOver=function(){
                     
    tooltip_mc.testo.text Tavoli_Info_array[this.ID]
                     
    tooltip_mc.stato=true
                     HideShow_TIP
    ()
               }
               
    this.onRollOut=function(){
                     
    tooltip_mc.testo.text ""
                     
    tooltip_mc.stato=false
                     hide_TIP
    ()
               }
    }

    // creo funzione Hide Show

    function HideShow_TIP(){
           
    delete   tooltip_mc.onEnterFrame

          tooltip_mc
    .onEnterFrame=function(){
                if(
    this.stato){
                        if(
    this._alpha<100){this._alpha+=20}else{delete thisonEnterFrame}
                }
                if(!
    this.stato){
                        if(
    this._alpha>0){this._alpha-=20}else{delete thisonEnterFrame}
                }
          }
    }

    Num_Tavoli +1


    // assegno ai clip tavoli il prototipo

    for(I=1;I<NumTavoli;I++){
           
    this.["Tavolo"+I].ID=I
           this
    .["Tavolo"+I].InfoTavoli()

    In questo modo se devi aggiungere un tavolo basta implementare l'Array ed il numero dei tavoli

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.