HGEチュートリアル翻訳(6)


Tutorial 06–メニューの作成
 
このチュートリアルでは、共通のGUI制御とメニューを作成する方法を示します.
汎用制御の作成
まず、hgeGUIObjectから継承する制御クラスを定義します.
 

 

 

 

 

 

 
コンストラクション関数初期化データメンバーid,bStatic,bVisible,bEnabledおよびrect:
 

 

 

 

 
Render関数は、各制御を定義することに重点を置いています.
 

 
他のすべての方法はオプションで、定義しなくてもいいです.
Updateは、GUIが更新され、レンダリングが必要になるたびに呼び出されます.この例では2つのタイマーが時間に応じて色と位置を調整しています.
 

 
EnterはGUIが画面に表示されるときに呼び出されます.コントロールアニメーションはここで入力する必要があります.
 

 

 

 

 
LeaveはGUIが画面から消えるときに呼び出す.
 

 

 

 

 
IsDoneは、この制御がEnter/Laveアニメーションを完了するかどうかを検出します.完了はtrueに戻ります.
 

 
Focusは、キーボード入力フォーカスが取得または失われたときに呼び出されます.
 

 

 

 
MouseOverは、マウスポインタがその領域に入るか離れるかを通知します.ここでは、マウスが通過するときに制御する入力フォーカスのみを設定します.
 

 
MouseLutton左キーの状態が変化したときに呼び出されます.ステータスを変更し、呼び出し元に通知する場合はtrueを返します.
 

 
KeyClickは、キーがクリックされたことを通知するために使用されます.ステータスを変更し、呼び出し元に通知する場合はtrueを返します.
 

 

 
一般的な制御行動定義があります.
GUIの使用:
ここは簡単な部分です.まず、リソース変数が必要です.
 

 

 
WinMainでは、初期化中にリソースをロードします.
 

 

 
GUIを作成し、メニューコンポーネントを追加します.GUIは内部処理に制御されているので、気にする必要はありません.
 

 

 
GUIモード、マウス画像、デフォルトのキーボードフォーカスを設定し、アニメーションを開始します.
 

 
メニューの更新と通知の受信方法を見てみましょう.FrameFuncでは、hgeGUI::Updateを呼び出してステータスを更新し、制御の認証値を返します.すべてのコントロールがアニメーションから離れると、-1が返されます.用事がなければ0に戻ります.
 

 

 

 
RenderFuncでhgeGUI::Renderを呼び出してメニューをレンダリング:
 

 
メニューが表示され、実行されます.今WinMainに来ました.プログラム終了時にGUIを削除し、リソースを解放します.