控制台背景音乐

Posted

技术标签:

【中文标题】控制台背景音乐【英文标题】:Console Background Music 【发布时间】:2015-12-06 04:40:10 【问题描述】:

我正在开发一款C# 控制台游戏,我真的很想在其中加入一些背景音乐。

我有一个调用 SoundPlayer 的函数,我让它按预期播放音乐。我的函数将在我的游戏的某些情况下被调用,但是当它被调用时,我希望游戏继续。目前,我的游戏按预期循环播放,但一旦到达playMusic() 功能,游戏就会停止,直到音乐停止播放。

如何在不中断主游戏循环的情况下让音乐在后台播放?对此事的任何想法将不胜感激。

音乐功能:

public void playMusic()
     
        SoundPlayer sndPlayer = new SoundPlayer();
        sndPlayer.SoundLocation = Environment.CurrentDirectory + "\\Music.Wav";           
        sndPlayer.PlaySync();

    

我的游戏循环:

        int gameoverCount =0;
        //Main game loop
        while (gameoverCount != 1000)
        
            //Select a random NPC to move
            int randomNPC = StaticRandom.Instance.Next(0, npcs.characters.Count);

            //Checks if the NPC has reached it's destination, if not move. 
            if (npcs.characters[randomNPC].destination)
            
                Movement.npcMove(board, npcs.characters[randomNPC]);
                            
            else
            
                //Gives NPC new location
                npcs.characters[randomNPC].destinationX = StaticRandom.Instance.Next(3, 14);
                npcs.characters[randomNPC].destinationY = StaticRandom.Instance.Next(3, 14);
                npcs.characters[randomNPC].destination = true;
            
            gameoverCount++;
            Movement.playerMove(p1.coordX, p1.coordY, board, p1, p1.bac, p1.stepsTaken, npcs.characters[randomNPC]);

            //If player is on a certain space, play music
            if (board.board[p1.coordX, p1.coordY].playMusic)
            
                playMusic();
                            
            Console.Clear();
            board.showBoard();
        

【问题讨论】:

【参考方案1】:

您正在寻找的是Play 或PlayLooping 方法。正如您在备注部分中看到的,这两种方法都将使用新线程播放音乐。另一方面,PlaySync 使用当前线程,这就是你得到你得到的行为的原因。

【讨论】:

非常感谢,非常感谢您的帮助!

以上是关于控制台背景音乐的主要内容,如果未能解决你的问题,请参考以下文章

在pygame中创建一个按钮来控制背景音乐的开启和关闭

idea设置内存,背景色,光标行色,控制台背景色

idea设置内存,背景色,光标行色,控制台背景色

idea设置内存,背景色,光标行色,控制台背景色

在 Swift (macOS) 中控制背景音乐

Unity 之 添加背景音乐 以及 Slider控制