pixelboyz logo
Desarrollo de Videojuegos

Tutorial de Godot 3: efectos de sonido y música

Tutorial de Godot 3 – Exportando tu juego

Índice de contenido


Este video cubre todos los aspectos del audio usando el motor de juego Godot 3. Cubrimos cómo reproducir audio usando un AudioStreamPlayer, luego veremos cómo crear uno dinámicamente. Luego analizamos en profundidad cómo funcionan los buses de audio, cómo crear efectos especiales. También veremos cómo realizar audio posicional y cómo limitar su reproducción usando Area2D. Después de este tutorial, deberías saber todo lo que necesitas para ser efectivo con el audio en Godot.

El video

Activos y muestras de código

DynamicAudio.gd

extends Node

func _ready():
  var player = AudioStreamPlayer.new()
  self.add_child(player)
  player.stream = load("res://belch.wav")
  player.play()

SpritePositionalAudio.gd

extends Sprite

func _ready():
  get_viewport().audio_listener_enable_2d = true
  $AudioStreamPlayer2D.play()

func _process(delta):
  if self.position.x > 0 - self.texture.get_width():
    move_local_x(-1)
  else:
    self.position.x = get_viewport().get_visible_rect().size.x

BotónOpción.gd

extends OptionButton

var files = []
func _ready():
  var player = get_tree().get_root().get_node("Node/AudioStreamPlayer")
  
  var dir = Directory.new()
  if dir.open("res://") == OK:
    dir.list_dir_begin()
    var file = dir.get_next()
    while (file != ""):
      if file.ends_with("wav") or file.ends_with("ogg"):
        files.append(file)
      file = dir.get_next()
      
    for i in range(files.size()):
      self.add_item(files[i],i)
      
    player.stream = load("res://" + files[0])

func _on_OptionButton_item_selected(ID):
  if files.size() > 0:
    var player = get_tree().get_root().get_node("Node/AudioStreamPlayer")
    player.stream = load("res://" + files[ID])

BotónReproducir.gd

extends Button

var player

func _ready():
  player = get_tree().get_root().get_node("Node/AudioStreamPlayer")
  

func _on_PlayButton_pressed():
  if get_node("/root/Node/PanelContainer/VBoxContainer/LoopContainer/CheckBoxLoop").pressed == true:
    setLoopMode(player.stream, 1)
  else:
    setLoopMode(player.stream, 0)
  
  print("Playing sound")
  player.play()   
    
func setLoopMode(stream,loop):
  if(stream is AudioStreamOGGVorbis):
    stream.loop = bool(loop)
  else: #Its a wave
    stream.loop_mode = loop


func _on_StopButton_pressed():
  player.stop()

Volver a la página de inicio de la serie de tutoriales



Source link

Tags :
efectos,Godot,música,sonido,Tutorial

Comparte :

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *