Comunidad de diseño web y desarrollo en internet online

Vuelvo al inicio y se me duplica el sonido.. Por qué?

Citar            
MensajeEscrito el 11 Feb 2014 07:39 pm
Hola amigos,

Bueno, sigo rempiéndome la cabeza con esto, a ver si alguien me ilumina!! :) PLease!!!..

Mi proyecto tiene un slider (movie clip) que controla el volumen de la música que está en la línea de tiempo y al proyecto le he puesto un botón para volver al inicio. Resulta que al volver al incio, comienza la música de nuevo, pero por otro lado sigue sonando la misma música, es decir, no se para. Cómo puedo hacer, para que se pare y vuelva a iniciarse?.

Código del slider:

s = new Sound(_root);
slider_1.onPress = function() {
startDrag(this, false, 0, 0, 250, 0);
};
slider_1.onRelease = slider_1.onReleaseOutside=function () {
stopDrag();
};
onEnterFrame = function () {
xpos = (slider_1._x/groove_1._width)*100;
s.setVolume(xpos);
};

El AS simple de mi botón:

on (release){
gotoAndPlay (1);
}

Mil gracias.

Por miper27

94 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 11 Feb 2014 08:44 pm
Porque vuelve a crea el sonido

s = new Sound(_root);

En líneas generales, si tienes código que no quieres que se repitapon algún flag por ejemplo

Código ActionScript :

if(!inited){
   ... todo tu codigo
    inited = true //pasandolo a true no se volverá a ejecutar
}


En general el código de inicialización no se debería volver a ejecutar

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Feb 2014 11:38 pm
Hola Jorge, antes que nada gracias...

Con esto no tengo que hacer nada, no?: s = new Sound(_root);

Lo único es como has puesto tu mi código dentro del tuyo, así:

if(!inited){

s = new Sound(_root);
slider_1.onPress = function() {
startDrag(this, false, 0, 0, 250, 0);
};
slider_1.onRelease = slider_1.onReleaseOutside=function () {
stopDrag();
};
onEnterFrame = function () {
xpos = (slider_1._x/groove_1._width)*100;
s.setVolume(xpos);
};

inited = true

Gracias!!!!!....

Por miper27

94 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 11 Feb 2014 11:42 pm
No entiendo muy bien lo que dices, pero tu prueba todo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Feb 2014 11:48 pm
Hola Jorge,

Quise decir, poner todo el código del slider dentro del código que tu me has dado. Y no se, si utilizar este código para algo: s = new Sound(_root);

Y como dices tu, probare de todo.

Gracias!!!..

Por miper27

94 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 12 Feb 2014 07:34 am
Hola Jorge,

Como ves puse el código mío dentro del tuyo, y nada, el problema sigue.

Disculpame si no soy capaz de resolverlo solo, pero no soy programador, ojalá lo fuera. Yo intento hacer cosas por mi cuenta y hago lo que puedo.

He hecho esto:

if(!inited){


slider_1.onPress = function() {
startDrag(this, false, 0, 0, 250, 0);
};
slider_1.onRelease = slider_1.onReleaseOutside=function () {
stopDrag();
};
onEnterFrame = function () {
xpos = (slider_1._x/groove_1._width)*100;
s.setVolume(xpos);
};

inited = true //pasandolo a true no se volverá a ejecutar
}


Mil gracias.

Por miper27

94 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 12 Feb 2014 12:17 pm
Si, a mi me pasa cuando intento hacer cosas de diseño.
Mira si puedes evitar volver al frame 1, vete al 2 para que no se repita el código de la inicialización, en todo caso arregla lo visual para poder hacer eso si te funciona

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 Feb 2014 03:13 pm
Hola Jorge,

Según me comentas, pongo volver al frame 2 en el botón, manteniendo el código que tengo arriba en el controlador, es decir el tuyo más el mío?.

Sabes lo que pasa Jorge, es que si te soy sincero, necesito hacer esto y que quede estupendo pues es una animación para enviar a agencias de publicidad para intentar conseguir trabajo, y ya puedes imaginar si les envio una animación que no funcione..

Muchas gracias.

Por miper27

94 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 12 Feb 2014 03:26 pm
No, olvidate de mi código, lo importante es que vuelva a un fotograma en donde el slider ya esté en escena, no a un fotograma en donde el slider justo aparece. Esto es porque al instanciarse (aparecer en escena) cualquier elemento ejecuta su código, si vuelves y lo haces aparecer de nuevo lo ejecuta dos veces, que es lo que tienes que evitar.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 Feb 2014 03:59 pm
Hola Jorge,

Ok, entonces, pongo:

on (release){
gotoAndPlay (2);
}

..dejo mi código en el controlador, quito el tuyo, y estaría bien?

Por miper27

94 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 12 Feb 2014 04:00 pm
si

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 Feb 2014 04:11 pm
Hola Jorge, lo he hecho y no funciona. Hice lo que te puse arriba.. Que puedo hacer?, alguna idea?..

Gracias amigo.

Por miper27

94 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 12 Feb 2014 04:39 pm
Hola Jorge,

Consegui esto en la web, pero no funciona:

"...Facil..
1. Haz que tu boton ocupe dos frames
2. En el primer frame activas tu musica con este codigo..:

on(release){ // aqui tu boton diria stop (como texto)
gotoAndPlay(2);//en el frame dos esta tu musica
}

3.En el frame dos en tu boton..: //en este frame se escucha la musica

on(release){
gotoAndPlay(1);//aqui tu bton diria play (como texto)
}


De esa manera evitas que te pongan la musica nuevamente cuando ya esta tocando.

En las propiedades de tu sonido le pones en el bucle las veces que quieres que toque la musica... tienes un max de 999.


Saludos.."

Gracias.

Por miper27

94 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 13 Feb 2014 07:42 am
Hola Jorge,

Conseguí esto, pero no funciona, no sé que está mal:

//Create the boolean variable on frame 1 of the timeline.
var music_playing:Boolean = false;

//Then on frame three (or wherever you start playing your music) do something like this.
if (music_playing == false){
background_music.start();
music_playing = true;
}

...y esto:

var sound_obj= new Sound();

//if you want to play it immediately
sound_obj.attachSound("song");
sound_obj.start();

on (release){
gotoAndPlay(3);
stopAllSounds();
delete sound_obj; //delete sound object
}

if you want to play again, reattach the sound
btnplay.onRelease = function ()
{
sound_obj.attachSound("song");
sound_obj.start();
}

Gracias..

Por miper27

94 de clabLevel



Genero:Masculino  

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.