这个覆盆子皮是一种单板计算机,旨在为在校学生提供计算机教育方面的帮助。这是一个尝试不同编程技术和学习软件工具的好平台。电路板配有RCA连接器,可用于将其直接连接到电视基于PAL和NTSC标准的屏幕。该板还具有HDMI接口输出,可用于将该板连接到高清电视。也可以使用远程登录访问树莓p我可以在PC屏幕上查看GUI(文本用户界面)。Raspberry pi板也很容易通过其引脚与外部设备或电路进行接口。该板还配有音频插座。所有这些使得树莓皮成为一个适合玩和开发有趣游戏的平台。
本文的重点是
如何给a添加声音
游戏用树莓派手柄来玩
. 这个简单的图形游戏是使用HTML5和JavaScript语言编写的,并与一个简单的游戏板硬件接口,该硬件连接到Raspberry pi板的引脚。此游戏添加了背景音乐和键盘铃声,可在耳机或音响系统的帮助下玩游戏。
[[wysiwyg_imageupload: 11067:]]
gamepad是一个简单的电路,构建在一个实验板上,只有很少的按钮、LED和一个电阻阵列。面板上有八个通用IO引脚Raspberrypi板的13*2针连接器其中4个引脚作为输入,其余4个引脚作为输出。输入引脚连接到按钮,并使用1K电阻向下拉。输出引脚连接到发光二极管通过另一组1K电阻器。对于这个项目,Raspberry pi板加载了Ubuntu,是使用VNC远程访问.C库“bcm2835”用于访问来自Broadcom控制器的引脚下载并安装.
此游戏使用两个MP3文件bgm.MP3和kpm.MP3,一个用于背景音乐,另一个用于播放键盘铃声。有很多命令行媒体播放器软件可供下载并安装在Ubuntu树莓皮。MPG321就是这样一款命令行音频播放器,可以使用以下命令轻松安装:;
sudo apt get-y安装mpg321
此MPG321是一个MP3播放器应用程序,任何MP3文件都可以在该应用程序的帮助下通过键入以下命令格式来播放
mpg321
该软件有很多选项,如音量控制、文件查找、远程操作模式,非常适合用于任何类型的前端应用程序,这里以HTML游戏为例。有关选项的更多详细信息,请参见手册页;
曼恩mpg321
命名管道或FIFO需要使用以下命令在同一目录中创建,该目录中存在用C编写的gamepad代码的可执行文件以及用HTML5和JavaScript编写的HTML游戏文件。
mkfifo xyz
C代码中的父进程创建了5个子进程,其中4个子进程专门用于手柄的每个按键,第5个子进程用于播放背景音乐。每当按键被按下或松开时,它们就会产生一个信号并将其发送给具有值的父进程. 这种方法
发送有价值的信号
帮助父进程识别已按下或释放了哪个键。
图2:Raspberry Pi Gamepad的方框图
一旦父进程从接收到的信号值中检测到按键,它就会将与该按键对应的特定字符写入指定的管道或FIFO。HTML游戏将每隔500毫秒从FIFO中连续读取以获取输入。因此,C代码和HTML文件都需要处于执行状态。gamepad硬件仅与C代码通信,C代码使用命名管道与JavaScript通信。
背景音乐将继续作为一个独立的子进程,从游戏开始的时候,键盘音调将播放的父功能,每当它检测到信号来自子进程它们是专门用来读取手柄按键的。父进程使用" system() "函数来播放键盘音,如下面的语句所示。
系统(“mpg321 kpm.mp3”);