os voy a mostrar como he hecho el primer ejemplo en Flash
de la presentación de antes sobre "Entrada Alternativa".
Es el ejemplo de como mover un objeto arriba y abajo sólo
con la entrada de sonido por el micrófono.
El primer paso era crear un nuevo símbolo como clip de película. Le llamé 'objeto'. Dentro de este clip de película creé un circulo de color verde y un texto dinamico.
Por el circulo simplemente es un dibujo no había más que hacer con lo cuál. Al texto dinamico le dé un nombre de referencia 'altitud' para manipular sus valores más tarde.
El fondo con las lineas cruzantes, unos dibujos simples que
no importan. Después hice la capa del objeto y lo más importante:
la capa de las acciones que llamé 'microfono'.

En la capa 'objeto' puse el objeto casi en el centro, como podéis ver, con respecto al texto dinamico. Le dé 'objeto_mc' como nombre de instancia.

Por fin, en la capa de 'microfono' puse este código en el primer fotograma:
//instanciar micrófono
_root.miMicro=Microphone.get();
_root.attachAudio(_root.miMicro);
_root.miMicro.setUseEchoSuppression(true);
//variables requeridas
var volumen;
var velocidad = 2;
//funcion onEnterFrame con las acciones de movimiento
_root.objeto_mc.onEnterFrame = function(){
//coger el volumen
volumen = _root.miMicro.activityLevel;
//si el volumen es menos que medio alto y más que 0, baja la altitud
if (volumen < 50 && volumen > 0 && this._y + this._height/2 + velocidad < 400){
this._y += velocidad;
}
//en el caso contrario, el objeto sube
else if (volumen > 50 && volumen <= 100 && this._y - this._height/2 - velocidad > 0){
this._y -= velocidad;
}
//mostrar la altitud
this.altitud.text = 200 - this._y;
}
Descripción del código:
Este parte del código está requerido para instanciar el micrófono.
Lo que pasa es que al principio es necesario crear una instancianueva de la clase Microphone. El constructor es diferente queson normalmente, es decir sólo es necesario inicialisar la variableque yo llamé miMicro con Microphone.get(), y está!El resto es necesario para añadir el sonido del micrófonoal sistema de Flash y para evitar ruidos.
//instanciar micrófono
_root.miMicro=Microphone.get();
_root.attachAudio(_root.miMicro);
_root.miMicro.setUseEchoSuppression(true);
La parte más grande del código son acciones de movimiento
con dos variables principales: volumen y velocidad.
Creamos la función onEnterFrame para el objeto objeto_mc.
Dentro de este función cogemos el volumen del micrófono con su
propriedad activityLevel y comparamos el valor con valores
predeterminados. También controlamos el ámbito del
movimiento para que el objeto no puede irse fuera de la
plantalla con la condición
this._y + this._height/2 + velocidad < 400
para abajo, y para arriba con este:
this._y - this._height/2 - velocidad > 0
Después sólo es necesario mostar la altitud por el cambio del
valor del texto del texto dinamico que se llama altitud.
Enlace al fichero: micro_control.fla
E ya está!
Saludos, Julian Ewers-Peters



3 comentarios:
Gracias!
Lo probaré cuando tenga tiempo!.
Excelente explicación, muy trabajada. Mil gracias compañero!
Great work, my friend, great!!!
Congratulations!!!
Publicar un comentario