open-mgl-dev (開発バージョン) (0.7.9.80) | 2009-11-02 22:25 |
open-mgl (DirectX9, VC++2008) (0.7.9) | 2009-09-27 20:32 |
roast-dev (開発バージョン) (0.0.1.40-dev) | 2009-11-02 23:09 |
>Wikiトップ>August Framework 2.0>AF2_tutorial12
記念すべき(?)10回目のチュートリアルでは、「エフェクト・コントロール」なるものを使ってみたいと思います。
- #include "mglaugust2.h"
- #define MESSAGE \
- "とある宇宙の果てに、おじいさんとおばあさんが居ました。 \n" \
- "おじいさんとおばあさんは空気が無くて死んでしまいました。"
- #define MSG_WAIT (2)
- class CMyFrame : public CAugustWindowFrame2
- {
- private:
- CAugustImage2 m_imgBack;
- CAugustImage2 m_imgWindow;
- CAugustText2 m_txtName;
- CAugustText2 m_txtMsg;
- int m_nCounter;
- public:
- // 初期化時に呼ばれる
- bool OnGraphicInitEnded()
- {
- RegistControl(&m_imgBack);
- RegistControl(&m_imgWindow);
- RegistControl(&m_txtName);
- RegistControl(&m_txtMsg);
- m_imgBack.Load("back.jpg");
- m_imgWindow.Load("window.bmp");
- m_imgWindow.SetAlpha(180);
- m_txtName.SetText("ナレーター");
- m_txtName.SetPos(40,285);
- m_txtName.SetFontSize(24);
- m_txtMsg.SetPos(45,350);
- m_txtMsg.SetFontSize(22);
- m_txtMsg.SetColor(AGHCOLOR_WHITE);
- m_nCounter = 0;
- return true;
- }
- // ウインドウ生成前に呼ばれる
- void OnCreateWindow(agh::CREATE_WINDOW_INFO *pWindowInfo){
- pWindowInfo->strWindowTitle = "おじいさんとおばあさんプログラム";
- }
- bool OnFrameDoUser()
- {
- if ( (m_nCounter/MSG_WAIT) <= (int)strlen(MESSAGE) ){
- m_nCounter++;
- if ( m_nCounter % (MSG_WAIT*2) == 0 )
- m_txtMsg.SetText(std::string(MESSAGE,(m_nCounter/MSG_WAIT)).c_str());
- }
- return true;
- }
- };
- // WinMain
- int APIENTRY WinMain(HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPSTR lpCmdLine,
- int nCmdShow )
- {
- CMyFrame frame;
- frame.Start();
- return 0;
- }