- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
小小电子琴-逸中软体设计.PDF
第第 3 章章 小小 小小 電電 子子 琴琴
第第 章章 小小 小小 電電 子子 琴琴
簡介簡介 ::
簡介簡介 ::
這一章要製作一個可以發出不同音調的小小電子琴程式 ,主要目的是讓同學學習如
何製作不同外觀的按鍵(物件) ,並建立按鍵的程式碼,以及製作鍵盤事件的程式 。也就
是說完成的電子琴程式可以使用滑鼠點擊演奏 ,也可直接用電腦鍵盤彈奏!有趣的是 ,
即使你的電腦沒有喇叭 ,甚至沒有音效卡!這個程式還是能有效的彈奏 ,發出正確的聲
音!神奇吧 ?
事實上這個程式很簡單 !簡單到不太足夠當作一次上課的內容 ,所以本單元還要加
碼教大家製作一個小時鐘以及一個會閃爍的節拍器 ,讓大家學習使用程式自動控制事件
的機制 ,以及基本的 C#時間函數 。
3-1 製作鍵盤製作鍵盤
製作鍵盤製作鍵盤
[鍵盤介面的設計]
請先開啟一個新專案 ,在表單上建立如下的八個鍵盤,使用的物件是工具箱的
Button ,接著請用滑鼠拖曳或者修改屬性 Size-Wdith(寬度)與 Size-Height(高度)的方式
將它變成接近電子琴按鍵的外觀 。當然還必須修改Text 屬性讓它顯示 Do, Re, Mi …等
等,也可以用 BackColor 屬性修改它們的顏色 。要一一製作八個鍵盤會花掉很多時間,
有效率的做法是先細心的作好一個自己滿意的按鍵 ,再使用複製貼上的方式產生八個按
鍵,之後你只要修改個別按鍵上的文字就可以了 !
[鍵盤設計的其他可能]
如果你非常有創意與審美觀,想讓鍵盤更美一點 ,可以試試使用BackgroundImage
的屬性 ,用圖片當作鍵盤的背景,就可以做出非常美又有質感的鍵盤。當然用影像使得
表單背景變成鋼琴的樣子也不錯 ,表單也有BackgroundImage 屬性的 。另一方面,也不
一定要使用 Button 物件來製作鍵盤 ,如果用Label ,Picturebox 等等其他可以設定顏色 、
影像或文字的物件也都可以 ,重點是該物件必須可以產生 Click 事件 ,也就是要對滑鼠
事件有反應就行了 !
3-2 Beep 函數函數與蜂鳴器與蜂鳴器
函數函數與與蜂鳴器蜂鳴器
[呼叫蜂鳴器]
接下來請先雙擊第一個按鍵 ,寫入以下程式:
試試看執行程式並點擊此按鍵 ,會聽到電腦發出一個「嗶」聲。有趣的是它並不是
來自喇叭 ,而是電腦主機板內建的蜂鳴器 。相信各位都聽過電腦開機時常常會發出「嗶」
的一聲 ,有故障時還會連續嗶好幾聲(即使你的電腦並沒有喇叭或者音效卡) ,那就是它
在叫了 !蜂鳴器是一個主機板上的古老元件 ,目的是讓電腦出現異常時可以發出一些聲
音來提示工程師可能的狀況 。只是很少人注意到它其實可以用程式控制 ,發出不同音高
與持續時間的聲音 。
[Console 是甚麼 ?]
Console 一般翻譯為 「主控台 」,在此你可以將它視為電腦的核心硬體 ,Console.Beep
就是請電腦硬體(在此就是蜂鳴器)發出一個 Beep 的聲音 。附帶的兩個參數 ,第一個是
控制它的頻率 ,單位是Hz ,就是每秒震動幾次的意思 ;第二個參數是音響延續的時間 ,
單位是毫 ,就是千分之一 。以後你會發現寫程式時多數的時間控制單位都是毫 。
所以上面的程式 Console.Beep(262, 500)就是請蜂鳴器發出頻率 262Hz ,時間延續半 鐘
的音響 !這是理論上鋼琴上 中央 C 的頻率 ,就是八度音階上的某一個 Do 啦 !下表列出
其他音高的理論頻率 :
Do Re Mi Fa Sol La Si Do
261.63 293.66 329.63 349.23 392.00 440.00 493.88 523.26
[音高的控制]
不過必須注意到 Beep 函數的參數只接受 「整數 」,所以要寫為程式碼之前必須先將
音高理論值四捨五入一下 。那麼如果我想發出更高或
文档评论(0)