下载客户端

[脚本] 随机音乐播放器

2026-02-13 19:00:18
发布在Godot Engine
转载

AI智能总结导读

这是面向新手的Godot随机MP3音乐播放器脚本教程,介绍了创建AudioStreamPlayer子节点、附加脚本的步骤,提供完整实现代码,可加载指定文件夹MP3文件,实现随机播放、暂停、续播、停止、调音量等功能。

简单的 MP3 随机播放播放器(适用于新手) 播放器及设置 1) 创建一个 AudioStreamPlayer 子节点。(为方便起见,可以添加到 WorldEnvironment 节点下) 2) 右键点击 -> 附加脚本 -> 创建一个新脚本,并保存在您方便的位置 3) 在脚本中插入以下代码: extends AudioStreamPlayer @export var music_folder = "res://Music/" # 音乐文件夹 var audio_player: AudioStreamPlayer var available_tracks = [] var current_track_index = -1 func _ready(): randomize() audio_player = AudioStreamPlayer.new() add_child(audio_player) audio_player.volume_db = volume_db load_tracks() play_random_track() audio_player.finished.connect(_on_track_finished) func load_tracks(): var dir = DirAccess.open(music_folder) if dir: dir.list_dir_begin() var file_name = dir.get_next() while file_name != "": if not dir.current_is_dir() and file_name.ends_with(".mp3"): available_tracks.append(music_folder + file_name) file_name = dir.get_next() func play_random_track(): if available_tracks.size() == 0: return var new_index = current_track_index while available_tracks.size() > 1 and new_index == current_track_index: new_index = randi() % available_tracks.size() current_track_index = new_index var track_path = available_tracks[current_track_index] audio_player.stream = load(track_path) audio_player.play() func _on_track_finished(): play_random_track() func pause_music(): audio_player.stream_paused = true func resume_music(): audio_player.stream_paused = false func stop_music(): audio_player.stop() func set_volume(new_volume_db: float): audio_player.volume_db = new_volume_db 4) 我在脚本中强调了需要您指定MP3音乐文件夹的位置。

评论

共0条评论
face
inputImg
最新更新

释放Godot的全部潜能

你是否一直想知道Godot引擎能实现什么?更小的构建体积、更简洁的工作流程、更出色的调试选项。在Godot游戏引擎中,你确实可以进行大量自定义设置!每个使用该引…

2026-02-15 01:000赞 · 0评论

贝壳纹理制作完全指南4.4

这是一份关于在Godot 4.4.1中制作外壳纹理的指南。 截图 链接已屏蔽 链接2已屏蔽

2026-02-14 22:000赞 · 0评论

Android 导出设置

1. 必要工具 首先我们需要Android Studio,因为通过它我们可以安装Godot创建APK所需的SDK。 2. 安装Android Studio和SD…

2026-02-14 22:000赞 · 0评论

使用C++在Godot中构建完整游戏!

在GODOT中使用C++开发游戏?本指南将介绍相关可能性以及各种方法的优缺点,还会讲解使用Godot Engine和C++进行开发所需的一切知识。该指南包含7个…

2026-02-14 22:000赞 · 0评论

【新手教程】在Godot引擎中制作真实时钟

我们将从头到尾制作一个显示本地时间的时钟。如果你希望更熟悉Godot Engine和GDScript,这是一个不错的起点。

2026-02-14 22:000赞 · 0评论

如何在场景之间切换?

什么是场景 场景在Godot中是游戏的独立元素:关卡、菜单、设置窗口等。 每个场景由节点和资源组成。要让玩家从一种游戏状态切换到另一种状态,需要在场景之间进行切…

2026-02-14 19:000赞 · 0评论

为玩家提供最简单的亮度调节方式

最简单的亮度调整方法 :3 主要指南 1. 在所需位置创建一个Hslider节点。将通过它进行调节。

2026-02-14 19:000赞 · 0评论

Godot 中的 Switch-Case(Match)

我将为你介绍如何在游戏脚本中使用Switch-Case语句 1. 什么是Switch-Case "switch"结构可以替代多个if语句。它是一种更直观的方式,…

2026-02-14 19:000赞 · 0评论

如何导出为单个Windows可执行文件

如何导出为单个Windows可执行文件(.exe) Godot 4.0及以上版本 1. 打开项目 2. 在应用程序功能区中选择【项目】 3. 选择【导出...】…

2026-02-14 16:000赞 · 0评论

Godot引擎2.2+中使用KinematicBody2D的玩家控制器

展示使用运动学体2D(KinematicBody2D)的简单玩家控制器。

2026-02-14 16:000赞 · 0评论
暂无更多