Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di pappolo
    Registrato dal
    Mar 2003
    Messaggi
    251

    Problema Controllo Volume

    Salve a tutti, volevo creare un controller del volume fatto in questo modo:

    uno slider che setta il volume tra 0 e 100 e contemporaneamente a ciò un qualcosa di grafico tipo una serie di rettangolini di grandezza crescente che si illuminano a seconda del volume, per intenderci tutti spenti a volume 0 e tutti accesi a volume 100

    Ora, nessun problema per lo slider, ma non riesco ad unire questo slider all'illuminazione dei rettangolini. Avevo pensato ad una maschera che si muovesse solidarmente con lo slider a scoprire i rettangolini, ma non ci sono riuscito (anche perchè non potrei passare dai rettangoli spenti a quelli accesi). Credevo si potesse fare mettendo tutti i rettangoli in un mc, uno per layer, e far muovere questa timeline in relazione al volume del suono, ma non ci sono riuscito So che deve funzionare ma non so scriverlo
    Praticamente, a secondo del volume, tra 0 e 10, 10 e 20 e così via, il mc con i rettangoli si sposta di frame andando dal frame 1 (tutti spenti) al frame 2 (solo il primo acceso) e così via.

    Qualcuno sa aiutarmi? O sa spiegarmi un metodo più semplice per farlo? In effetti quello che ho pensato io mi sembra un pò labororioso...

    Grazie a tutti quelli che sapranno aiutarmi

  2. #2
    Io lavoro in questo modo per poter fare una cosa pulita e chiara.
    Photoshop crei l' interfaccia che ho allegato, poi con freehand la rasterizzi, quindi pienamente modificabile in freehand e in flash e poi te la importi in flash.
    Fine

    CLICCA

  3. #3
    Utente di HTML.it L'avatar di pappolo
    Registrato dal
    Mar 2003
    Messaggi
    251
    Ti ringrazio per l'interessamento, ma il mio problema non è tanto la parte grafica, quanto gli script per poter far muovere le cose assieme

  4. #4
    dai un'occhiata qui e dimmi se ti e' stato utile...
    http://www.3site.it/index.php?sezion...lo=21&pagina=3

    P.S. dentro un onEnterFrame avviabile tramite un onPress o startDrag() puoi direw al movieClip "rettangolini_mc" di andare da 1 a 10 a seconda che il volume sia da >10 a 100 ...

    Insomma, con un po di ingegno in un modo o nell' altro ce la fai.

    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    Utente di HTML.it L'avatar di pappolo
    Registrato dal
    Mar 2003
    Messaggi
    251
    ti ringrazio, in quell'articolo ho letto un bel pò di cose che non sapevo, anche se continuo a non riuscire a fare lo script.

    Riesco tranquillamente a fare lo slide col volume, un pò come succede nell'articolo che mi hai linkato, ma non capisco come fare a dire al mc coi rettangoli di spostarsi a seconda del volume da un frame all'altro

  6. #6
    gli dai un nome di istanza e mentre sposti e setti il volume, che sara' da 0 a 100, scrivi nome_istanza_mc.gotoAndStop(Math.round(volume/10));

    dove volume e' quanto volume c'e' e il frame del movie andra' da 0 a 10 a seconda di quanto e' alto il volume ...

    spero di averti aiutato
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    Utente di HTML.it L'avatar di pappolo
    Registrato dal
    Mar 2003
    Messaggi
    251
    Grazie mille!!!

    E' proprio la strada che stavo cercando!
    Io cercavo di farlo con una serie di cicli if che controllavano il volume del suono e che a seconda di questo facevano camminare i frame del mc. La tua soluzione però è davvero geniale, domattina la proverò subito!

  8. #8
    P.S. ... accorto tardi

    l' unico if che devi fare e' se il volume e' < di 10 ... non puoi mandare un movieClip a frame 0.
    Per il resto .... ecco uno script che dovrebbe fare al caso tuo
    Codice PHP:
    if(suono.getVolume()>10) {
         
    nome_istanza_mc.gotoAndStop(Math.round(suono.getVolume()/10)); 
    }
    else {
         
    nome_istanza_mc.gotoAndStop(1);
    }


    // alternativa
    var volume suono.getVolume()>10?suono.getVolume():10;
    nome_istanza_mc.gotoAndStop(Math.round(volume/10)); 
    Al primo frame del movieClip metterai la situazione in cui il volume e' prossimo allo 0 o 0 stesso.

    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    Utente di HTML.it L'avatar di pappolo
    Registrato dal
    Mar 2003
    Messaggi
    251
    Grazi Andr3a! Sei gentilissimo, ma continuo ad avere problemi

    Ti spiego come ho fatto

    Nello stage ho il mc dello slider con questa action:

    Codice PHP:
    onClipEvent (load) {
        
        
    min 1;
        
    max 100;
        
    percent Math.floor((_x-min)/(max-min)*100);
        
    loop = new Sound();
        
    loop.attachSound("sound");
        
    loop.start(0100);
        
    volume 50;
        
    loop.setVolume(volume);
        
    }
    onClipEvent (mouseMove) {
        if (
    drag == 1) {
            
    _x _root._xmouse+offsetX;
        }
            if (
    _x>max) {
            
    _x max;
        }
        if (
    _x<min) {
            
    _x min;
        }
        
    percent Math.floor((_x-min)/(max-min)*100);
        
    loop.setVolume(percent);
        
    updateAfterEvent();

    e quindi sullo slider vero e proprio dentro questo mc ho

    Codice PHP:
    on (press){
        
    offsetX _x-_root._xmouse;
        
    drag 1;
        }
        
    on (releasereleaseOutside){
            
    drag 0;
            } 
    Ora, ho creato il mc (equalizzatore come nome di istanza, con i rettangoli che si colorano)

    L'ho portato sullo stage e gli ho dato come azione

    Codice PHP:
    onClipEvent (load) {

    if(
    loop.getVolume()>10) {
         
    equalizzatore.gotoAndStop(Math.round(loop.getVolume()/10)); 
    }
    else {
         
    equalizzatore.gotoAndStop(1);
    }


    nothing happens... :master:

    Ho anche provato (visto che ancora non ho capito bene come fuzniona a mettere questa action direttamente nel frame, senza l' onClipEvent, ma è cambiato poco...

    P.S altra piccola questioncina, ma questa è meno grave... lo script dovrebbe far partire il suono a 50, invece parte sempre a 100, eppure ho copiato un movie da quelli di html pari pari, e infatti lì funziona... boh...)

    Grazie ancora per l'interessamento!!

  10. #10
    onClip Event(enterframe) .. casomai ...

    comunque fai un trace(loop.getVolume()) per vedere se la funzione va o no ...
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

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.