前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Godot进行2D游戏开发入门-音效管理器

Godot进行2D游戏开发入门-音效管理器

作者头像
码客说
发布2023-08-08 12:58:12
3010
发布2023-08-08 12:58:12
举报
文章被收录于专栏:码客码客

前言

游戏的音乐可以只有一个,但是音效可以同时播放多个,并且多个音效可能是同一个。

音效管理器

添加场景

添加场景AudioManager

image-20230801001314077
image-20230801001314077

绑定脚本

添加脚本AudioManager.gd

添加脚本并绑定到场景AudioManager上

代码语言:javascript
复制
extends Node

var curr = 0
var total = 10
var soundMap = {}

func _ready():
	for i in range(total):
		self.add_child(AudioStreamPlayer.new())
	soundMap["laser_gun"] = load("res://assets/sound/laser_gun.mp3")
	soundMap["pistol"] = load("res://assets/sound/pistol.mp3")
	
func play(name : String):
	var sfx = self.get_child(curr)
	if sfx is AudioStreamPlayer:
		if(soundMap[name]):
			sfx.stream = soundMap[name]
			sfx.play()
			curr = (curr+1)%total

自动加载

项目 => 项目设置 => 自动加载

添加音频管理的场景

image-20230801001453919
image-20230801001453919

调用

这样在其他任何页面都可以调用了

代码语言:javascript
复制
func _unhandled_input(event):
	if event is InputEventKey:
		if event.pressed and event.keycode == KEY_J:
			AudioManager.play("pistol")
		if event.pressed and event.keycode == KEY_K:
			AudioManager.play("laser_gun")
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 音效管理器
    • 添加场景
      • 绑定脚本
        • 自动加载
          • 调用
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档