修复了更新后退出游戏崩溃的bug
This commit is contained in:
		
							parent
							
								
									65494fb0e3
								
							
						
					
					
						commit
						66869b0af5
					
				|  | @ -26,7 +26,6 @@ App::App() : | |||
| 
 | ||||
| App::~App() | ||||
| { | ||||
| 	destory();				// 销毁 App
 | ||||
| } | ||||
| 
 | ||||
| App * App::get() | ||||
|  | @ -35,23 +34,6 @@ App * App::get() | |||
| 	return s_pInstance;		// 获取 App 的唯一实例
 | ||||
| } | ||||
| 
 | ||||
| void App::setOrigin(int originX, int originY) | ||||
| { | ||||
| 	::originX = originX; | ||||
| 	::originY = originY; | ||||
| 	setorigin(originX, originY); | ||||
| } | ||||
| 
 | ||||
| int App::getOriginX() | ||||
| { | ||||
| 	return ::originX; | ||||
| } | ||||
| 
 | ||||
| int App::getOriginY() | ||||
| { | ||||
| 	return ::originY; | ||||
| } | ||||
| 
 | ||||
| int App::run() | ||||
| { | ||||
| 	// 开启批量绘图
 | ||||
|  | @ -95,8 +77,7 @@ int App::run() | |||
| 			// 计算挂起时长
 | ||||
| 			waitMS = LONG((m_nAnimationInterval.QuadPart - interval) * 1000LL / freq.QuadPart) - 1L; | ||||
| 			// 挂起线程,释放 CPU 占用
 | ||||
| 			if (waitMS > 1L) | ||||
| 				Sleep(waitMS); | ||||
| 			if (waitMS > 1L) Sleep(waitMS); | ||||
| 		} | ||||
| 	} | ||||
| 	// 停止批量绘图
 | ||||
|  | @ -104,7 +85,7 @@ int App::run() | |||
| 	// 关闭窗口
 | ||||
| 	close(); | ||||
| 	// 释放所有内存占用
 | ||||
| 	destory(); | ||||
| 	free(); | ||||
| 	// 重置时间精度
 | ||||
| 	timeEndPeriod(1); | ||||
| 
 | ||||
|  | @ -314,7 +295,7 @@ void App::_enterNextScene() | |||
| 		m_SceneStack.pop();					// 删除栈顶场景
 | ||||
| 	} | ||||
| 	 | ||||
| 	if (m_bSaveScene) | ||||
| 	if (m_bSaveScene && m_pCurrentScene) | ||||
| 	{ | ||||
| 		m_SceneStack.push(m_pCurrentScene);	// 若要保存当前场景,把它的指针放到栈顶
 | ||||
| 	} | ||||
|  | @ -376,6 +357,23 @@ int App::getHeight() | |||
| 	return s_pInstance->m_Size.cy; | ||||
| } | ||||
| 
 | ||||
| void App::setOrigin(int originX, int originY) | ||||
| { | ||||
| 	::originX = originX; | ||||
| 	::originY = originY; | ||||
| 	setorigin(originX, originY); | ||||
| } | ||||
| 
 | ||||
| int App::getOriginX() | ||||
| { | ||||
| 	return ::originX; | ||||
| } | ||||
| 
 | ||||
| int App::getOriginY() | ||||
| { | ||||
| 	return ::originY; | ||||
| } | ||||
| 
 | ||||
| void App::free() | ||||
| { | ||||
| 	// 释放场景内存
 | ||||
|  | @ -396,12 +394,3 @@ void App::free() | |||
| 	// 删除所有对象
 | ||||
| 	FreePool::__clearAllObjects(); | ||||
| } | ||||
| 
 | ||||
| void App::destory() | ||||
| { | ||||
| 	// 释放所有内存
 | ||||
| 	s_pInstance->free(); | ||||
| 	// 实例指针置空
 | ||||
| 	delete s_pInstance; | ||||
| 	s_pInstance = nullptr; | ||||
| } | ||||
|  |  | |||
|  | @ -176,8 +176,6 @@ public: | |||
| 	static void reset(); | ||||
| 	// »ñÈ¡µ±Ç°³¡¾°
 | ||||
| 	static Scene * getCurrentScene(); | ||||
| 	// 销毁该对象
 | ||||
| 	static void destory(); | ||||
| 
 | ||||
| protected: | ||||
| 	TString				m_sTitle; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue