ComunidadID
Bienvenido a ComunidadID

¿Quieres promocionar tu videojuego?

Regístrate y publicalo 
en nuestros foros!


No estás conectado. Conéctate o registrate

Activar desactivar sonido en C2

    

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1 Activar desactivar sonido en C2 el 2/5/2016, 12:24

Moninagamer


Nivel: 18
Nivel: 18
Algo me esta pasando con el sonido que no logro arreglar ni encontrar solucion, esto creo que ya me paso hace mucho tiempo y creo que solucione, el caso es que me gustaria de una vez por todas entender que eatoy haciendo mal.

Tengo la siguiente hoja de eventos

Declaro la variable global sound=0
Cuando sound=0  - audio stop all
Cuando sound=1 - audio play musica
Al inicio del layout - set sound = 1

Si ejecuto esto suena como si la cancion entrase y saliese rapidamente provicando un ruido infernal en lugar de sonar la cancion

Que esta pasando? Creo que se me escapa algo
Lo que quiero con esto es hacer un boton para activar y desactivar la musica o sonido.

Moninagamer


Nivel: 18
Nivel: 18
Creo que lo estoy solucionando poniendo una condicion del tipo triger

Cuando sound=1 audio play musica
TRIGER ONCE

mataguiris


MODERADOR
MODERADOR
El problema, es que le estabas diciendo que reproduciese la música mientras la variable fuese igual a 1, entonces lo que hacía es reproducir la música 60 veces por segundo, ya que la está iniciando continuamente mientras la variable sea 1.

Con Tiger once, lo que ocurre es que lo hace solo una vez mientras sea cierto, que te soluciona el problema, pero te puede dar otros problemas en algún que otro momento, por ejemplo que cambies de música.

En mi opinión la mejor solución es poner un tag a la música, por ejemplo Musica_Menu , entonces le dices que si la variable es igual a 1 y la canción con el tag Musica_Menu no está sonando, que se reproduzca la canción en loop, así evitarás siempre que se reproduzca más de una vez si ya está sonando.

Me explico como un libro en llamas  lol!

Si no lo has entendido te hago un ejemplo cuando llegue a casa.

http://mataguiris-games.weebly.com/

Moninagamer


Nivel: 18
Nivel: 18
Jeje mataguiris, efectivamente me esta dando problemas, voy a seguir probando con tu magnifica explicacion srguro que algo conseguire.
Yo tampoco estoy en casa cuando llegue subo imagen y capx para que sea mas entendible

Gracias Mataguiris

isaske5


Nivel: 29
Nivel: 29
opino lo mismo que [Tienes que estar registrado y conectado para ver este vínculo] utiliza los TAGs para ser mas especifica,
y creo que el trigger puede funcionar bien debajo de una variable solo hay que utilizarlo bien, cuando subas el capx le echare un vistazo.

Moninagamer


Nivel: 18
Nivel: 18
Al final lo conseguí de esta manera, no use los tags, lo intente pero no saque nada, imagino que con tags sera mas profesional





[Tienes que estar registrado y conectado para ver este vínculo]

Moninagamer


Nivel: 18
Nivel: 18
use el ANY PLAYING invertido, es decir

Si pulso el boton y no hay nada sonando, poner la variable sonido en 1

Moninagamer


Nivel: 18
Nivel: 18
Lo que me estoy dando cuenta es que una variable GLOBAL solo trabaja en el LAYOUT donde la declaré, es decir no puedo operar con ella después en cualquier otro layout como yo pensaba. 
¿como hacéis entonces para desactivar el sonido en todos los layouts que tenga un juego?

mataguiris


MODERADOR
MODERADOR
La variable global la puedes modificar en cualquier layout, lo que pasa que tendrás que pegar todo el código en los otros layouts, es decir, no basta con cambiar la variable, que puedes hacerlo, necesitas volver a copiar todo el código, porque si sólo cambias la variable no hay ordenes que desactiven la música en ese mismo event_sheet, ya que esas ordenes están en otro event_sheet.

Otra opción es poner todo lo relacionado con la música en un event-sheet suelto y añadir ese event-sheet a los layouts que quieras, así no tendrás que repetir el mismo código en todos los layouts, simplemente añadir el event_sheet.

http://mataguiris-games.weebly.com/

mataguiris


MODERADOR
MODERADOR
También está la opción de simplemente silenciar la música, es decir, en cada pantalla la música siempre estará sonando, pero al pulsar el botón le quitamos el sonido, te pongo un ejemplo de como lo hice en el juego del bebé, también controlado por una variable:



Es otra forma de hacerlo...

http://mataguiris-games.weebly.com/

isaske5


Nivel: 29
Nivel: 29
estas  haciendo que después de poner stop a la música, vas al juego, y cuando vuelves haces que inicie la musica otra ves.
eso es intencional?
yo creo que si le pones stop debería quedarse así hasta que vuelvas a darle clic a play

yo lo haría así.

[Tienes que estar registrado y conectado para ver este vínculo]

Zonacas


ADMINISTRADOR
ADMINISTRADOR
Claro el problema que tenias es que el evento/condición que iniciaba la música se cumplía siempre

con el Trigger Once consigues que se ejecute sólo una vez hasta que la variable vuelva a cambiar de valor

La mejor solución es la que te proponen [Tienes que estar registrado y conectado para ver este vínculo] e [Tienes que estar registrado y conectado para ver este vínculo] , el uso del tag, ya que así podrás parar el sonido que tu quieras y no todos


_________________
http://oskystudios.wix.com/osky-studios

Moninagamer


Nivel: 18
Nivel: 18
@mataguris , aun no he conseguido construir el evento usando los TAGS, voy a estudiar tu captura a ver que saco en claro. Y por lo que dices sobre las variables locales me parece un poco chapuza por parte de Scirra, creo que haria tu segunda opcion, crear un Layout suelto, creo que me enteraria mejor.

@isaaske , no es intencional, es que aun me estoy pegando con el sonido. Parece sencillo ehh pero no lo es tanto, GRACIAS por tu archivo, sin duda sera de mucha ayuda.

[Tienes que estar registrado y conectado para ver este vínculo] , joer macho, pensaba que no conocias C2 y ya conocs el triger y el tag agggghhh me deprimoooo  Sad


gracias chicos por vuestra gran ayuda, seguire intentandolo

TeslaPC


Nivel: 13
Nivel: 13
Hola [Tienes que estar registrado y conectado para ver este vínculo],

En tu ejemplo ya estas usando Tags.
SOUND = 0 Stop "MUSICA"
"MUSICA" es el tag del archivo SONG_INTRO.

Tag = Apodo o nombre para referirse a un archivo de audio (en este caso)

Un ejemplo mas fácil y cómodo para activar y desactivar el sonido.
On left button Clicked on BOTON_SONIDO set value
Variable = SOUND
Value    = SOUND = 0/1
(si es 0, pasa a 1 y viceversa)

También te recomiendo que uses trigger once en SOUND = 0.
(Cuando no le pones trigger once, al reprodicir un archivo de audio, este se ejecuta 60 veces por segundo, lo mismo pasa en este caso, aunque no sea audible estas ejecutando stop 60 veces por segundo. Y gastando recursos.)

Saludos.

http://synergy-studios.net

Zonacas


ADMINISTRADOR
ADMINISTRADOR
[Tienes que estar registrado y conectado para ver este vínculo] escribió:
[Tienes que estar registrado y conectado para ver este vínculo] , joer macho, pensaba que no conocias C2 y ya conocs el triger y el tag agggghhh me deprimoooo  Sad

lol!

Tengo Construct 2 Smile ,conozco esta herramienta desde Construct Classic, aunque no he profundizado mucho en ella, espero hacer algo con Construct 2 algún día.



_________________
http://oskystudios.wix.com/osky-studios

Moninagamer


Nivel: 18
Nivel: 18
Acabo de cargarme el ordenador, solo tengo acceso al Command y desde ahi estoy intentando rescatar mis archivos al viejo estilo msdos.

Pero ayer probe el archivo que dejo Isaak y es exactamente lo que quiero hacer. Estuve mirando la hoja de eventos y bueno, me entero mas o menos hasta que crea los famosos sub-eventos. Digo famosos porque aun no entiendo cuando y porque hay que crearlos. Mañana espero tener el windows instalado y volvere para exponeros mis dudas con el archivo de Isaak.
Mataguitis en su ejemplo tambien los crea, ahgh que dificil cuando algo no llegas a comprender.

Zonacas


ADMINISTRADOR
ADMINISTRADOR
[Tienes que estar registrado y conectado para ver este vínculo] Como te has cargado el Ordenador?

Si reinstalas Windows no creo que pierdas ningún archivo, de todas formas es bueno tener en un Disco SSD para el sistema operativo (Windows) y en otro disco duro los datos con los que trabajas, para casos como estos.

-------------------------------------------------------------

habrá que hacer algunos tutoriales breves sobre tags y subeventos Smile


_________________
http://oskystudios.wix.com/osky-studios

Moninagamer


Nivel: 18
Nivel: 18
Pues veras, me descargue un theme de esos chulos para el escritorio de windows, al instalarlo me avisa que no es compatible con win.8 pero me salto la opción de ejecutar con compatibilidad y sin pensarlo le di a SI. Y se instalo todo perfecto, pero al final me pide reiniciar y se reinicio y no apareció mi escritorio solo la pantalla completamente negra y el cursor del ratón. 
Me dejaba entrar en el administrador (control+alt+suprimir) y ahí nada de nada, intente buscar algún proceso que cerrar pero no vi ninguno, intente ejecutar explorer.exe y nada, solo me dejo hacer CMD, como vi la cosa complicada y me di cuenta de mi error, note que no había mas remedio que restaurar.
Enchufe un USB y gracias a dios tenia acceso a el desde el CMD, con lo que hice uso del viejo Xcopy C:\blablabla E: /d y rescate lo que pude y recordé que tenia que rescatar.

Mi ordenador tiene un boton para restaurar y es lo que acabo de hacer, ahora me toca reinstalarme toooodo de nuevo.

Moraleja: quien me manda tocar nada y quien me manda no darme cuenta de lo que podría pasar

Zonacas


ADMINISTRADOR
ADMINISTRADOR
Entonces has instalado de nuevo... Surprised

Tan sólo tenias que restablecer el theme original , creo que podrías haber iniciado el sistema a modo prueba de fallos y desde ahí podrías haber desinstalado ese theme o restaurar sistema.

o como última opción reinstalando Windows pero no una copia nueva, incluso creo recordar hay una opción que hace un diagnostico y repara el sistema.


_________________
http://oskystudios.wix.com/osky-studios

Moninagamer


Nivel: 18
Nivel: 18
Si instale de nuevo,

Sobre los sub-eventos, a ver si es o no asi

Cuando creas un evento, estas creando una condicion ¿verdad? y a esa condicion le corresponde una accion ¿verdad?

por ejemplo, 
(condicion) si pulsas cursor derecha  (accion) mueve el sprite a hacia la derecha

¿entonces un sub-evento es cuando quieres que se cumplan varias condiciones?

por ejemplo
(condicion) si pulso cursor derecha
(condicion) si pulso espacio (accion) mueve sprite hacia la derecha velocidad 500
(condicion) Si no pulso espacio (accion) mueve sprite hacia la derecha velocidad 100

¿ es asi?

Zonacas


ADMINISTRADOR
ADMINISTRADOR
Sí, Los Sub Eventos vendrían ser como un IF anidado, donde hay un IF Principal o Condición Principal y luego vienen unos IF que vienen condicionados por el primer IF


Si se presiona Derecha (Condicion Principal)

    y Si pulso Acción      Flecha Derecha  Velocidad 500
----------------------------------------------------------------
    y Si no pulso Accion Flecha Derecha  Velocidad 100


_________________
http://oskystudios.wix.com/osky-studios

Moninagamer


Nivel: 18
Nivel: 18
Ok Zonacas, entonces empiezo a entenderlo, 

Gracias

mataguiris


MODERADOR
MODERADOR
Los sub-eventos son una forma de tener varias opciones dentro de un mismo evento. Pondré un ejemplo para ver si se te aclara un poco.

Supongamos que tienes un personaje, el cual puede disparar varias armas, que va recogiendo por el escenario. Lo primero que pensamos es crear un evento para cada arma, sería algo así:

- Si pulso X y tengo la pistola   ---------> Disparo una bala
- Si pulso X y tengo la escopeta --------> Disparo 5 balas
- Si pulso X y tengo el bazooka ---------> Disparo un misil

Bien, eso serían 3 eventos, uno para cada arma del personaje.
Esto se puede simplificar usando los Sub_Eventos, así ponemos todo en una misma acción, sería algo así:

- (Evento) Si pulso X
   ( sub-evento) si tengo la pistola ------->Disparo una bala
   ( sub-evento) si tengo la escopeta --------> Disparo 5 balas
   (sub-evento) si tengo el bazooka ---------> Disparo un misil

Como puedes comprobar, creamos el evento "Pulsar X", y dentro de ese evento, creamos los sub_eventos, entonces sólo se cumplirá uno de ellos, es decir, si pulsamos x dispararemos en función del arma que tengamos, pues sólo se cumplirá uno de los sub_eventos.


Un saludo.

http://mataguiris-games.weebly.com/

Moninagamer


Nivel: 18
Nivel: 18
Creo que me vendria muy bien volver a visionar tus videos como los de isaaske, pues ahora creo que lo entiendo mejor.

Gracias chicos

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

    

Permisos de este foro:
No puedes responder a temas en este foro.