這邊只會特別說明一些自認為關鍵的地方
1. 在 MainComponent.h 增加 layout component
2. 在 MainComponent.cpp 將 layout 加進去
3. 並修正 layout component 在 main component 的位置,以避免遮到在 main component
所畫出的字
4. 在這邊執行一下,可以得到以下結果
5. 到 layout.cpp,因為這是透過 Introjucer 產生的,有自動產生很多註解,並且有 metadata
如果看得厭煩,其實都拿掉沒有關係
6. 接著就是來增加 BigLotteryPage 這個 component class
Component 是 Basic class,基本上都要繼承這個 class
因為需要一個 button 來執行對獎的動作,所以多繼承Button::Listener 這個 class
而繼承 Button::Listener 這個 class 就必須實做 buttonClicked 這個 virtual function
7. 現在來增加 GUI 原件
使用 JUCE 提供的 ScopedPointer 可以避免 memory leaking 的問題
8. 在 layout.h 新增一個 style 的元件,有 LookAndFeel_V1、 LookAndFeel_V2
以及 LookAndFeel_V3,可按喜好選擇
然後到 layout.cpp,在 layout constructor 增加以下設定
9. 依然在layout.cpp,到 BigLotteryPage 的 constructor 來對這些原件做初始化
這邊就示意一下,不逐一說明,有需要就看 code
10. 接著到 resize(),這邊就是細調各元件的位置,用成自己喜歡的呈現方式
不贅述,需要就看 code
11. 最後就到 buttonClicked() 去寫對獎規則,首先去拿到 user input 和 樂透號碼做比對
按照規則統計結果,最後把結果顯示出來,這邊也是直接看 code
12. 接著開始寫 PowerLotteryPage 的 component,過程和 BigLotteryPage 一樣
13. 完成 BigLotteryPage 和 PowerLotteryPage 後,就可以跑看看
沒有留言:
張貼留言