00001 #include "main.h" 00002 #include "DrawMain.h" 00003 00004 //============================================================================ 00005 //! @file SceneTitle.cpp 00006 //! @brief シーン関連の処理関数郡を定義 00007 //============================================================================ 00008 00009 //============================================================================ 00010 //内部グローバル変数 00011 //============================================================================ 00012 static char *m_szTitleMes = NULL; //!< メモリ開放テスト用 00013 00014 //============================================================================ 00015 //! 外部公開関数 00016 //============================================================================ 00017 void *TitleInit(); //!< タイトルの初期化 00018 void *TitleMain(); //!< タイトルの処理 00019 void *TitleRelease(); //!< タイトルの開放 00020 00021 //============================================================================ 00022 //! タイトルの初期化 00023 //! @retval NULL 初期化失敗 00024 //! @retval 関数のアドレス 次に処理する関数 00025 //! @brief タイトルの初期化を行う 00026 //============================================================================ 00027 void *TitleInit() 00028 { 00029 //わざわざ開放テスト用にメモリ確保して文字列を作る 00030 m_szTitleMes = (char *)malloc(sizeof(char) * 64); 00031 strcpy(m_szTitleMes,"タイトルです"); 00032 00033 //タイトルの初期化処理 00034 MessageBox(hWindow,m_szTitleMes,"TitleInit",MB_OK); 00035 00036 pNowRelease = TitleRelease; //エラー終了したときに画像などを開放するための関数のアドレス 00037 return (void *)TitleMain; //次に処理する関数のアドレス 00038 } 00039 00040 //============================================================================ 00041 //! タイトルのメイン処理 00042 //! @retval NULL 失敗 00043 //! @retval 関数のアドレス 次に処理する関数 00044 //! @brief タイトルのメイン処理を行う 00045 //============================================================================ 00046 void *TitleMain() 00047 { 00048 //タイトルの処理 00049 if(IDYES == MessageBox(hWindow,"次のシーンへ移動しますか?","TitleMain",MB_YESNO)) 00050 return (void *)TitleRelease; 00051 00052 00053 return (void *)TitleMain; 00054 } 00055 00056 00057 //============================================================================ 00058 //! タイトルの開放 00059 //! @retval NULL 失敗 00060 //! @retval 関数のアドレス 次に処理する関数 00061 //! @brief タイトルの開放を行う 00062 //============================================================================ 00063 void *TitleRelease() 00064 { 00065 //確保したメモリの開放 00066 if(m_szTitleMes != NULL) 00067 { 00068 free(m_szTitleMes); 00069 m_szTitleMes = NULL; 00070 } 00071 00072 //タイトルの開放処理 00073 if(IDNO == MessageBox(hWindow,"タイトル開放します。¥n次のシーンへ移動しますか?","TitleRelease",MB_YESNO)) 00074 return NULL; 00075 00076 return (void *)FrameInit; 00077 }