python 画布包括不了全部组件?_试验程序:画布版九键琴
近期有讀者詢問如何制作出滑動琴鍵連續(xù)發(fā)出聲音的程序,他嘗試用一排按鈕充當琴鍵,但每次滑動只能觸發(fā)一個按鈕的點擊事件,因此也只能發(fā)出一個聲音。我提示他用畫布替代按鈕,他希望給予更具體的提示,于是我索性自己做了一段試驗性的程序,在這里與大家分享。
首先創(chuàng)建一個項目,命名為“畫布版九鍵琴”,添加三個組件:畫布、音效播放器、計時器,它們的屬性設置如圖1所示。然后上傳10個音頻文件,從1.ogg到10.ogg。
圖1?項目中的組件及屬性設置
下面編寫程序。首先在屏幕初始化事件中繪制琴鍵。當畫布被按壓時,啟動計時器,當畫布被釋放時,停止計時。然后編寫畫布的拖動事件處理程序,將事件中的參數(shù)“當前x坐標”傳遞給全局變量x。最后在計時器的計時事件中,利用全局變量x計算出對應的音節(jié),設置音效播放器的源文件屬性,并播放相應的音節(jié)。代碼如圖2所示。
圖2 項目中的全部程序
程序的測試結果如下面的視頻,視頻是屏幕錄制的結果,無法展現(xiàn)手指滑過的場景。
從視頻的效果看,聲音的播放還不夠連續(xù),改進的思路是調(diào)整音效播放器的最小間隔與計時器的計時間隔,如果這兩個組件的時間屬性設置恰當?shù)脑?#xff0c;播放效果也許會得到改進。
另,本項目中的素材可在公眾號菜單“編程教學--圖書資料”中找到(聽音練耳)。也可直接訪問以下鏈接:https://pan.baidu.com/s/1boRZ7sF 。
總結
以上是生活随笔為你收集整理的python 画布包括不了全部组件?_试验程序:画布版九键琴的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos php mysql 5.6
- 下一篇: 最野性的福特SUV!探险者Timberl