| 
									
										
										
										
											2017-09-27 17:56:28 +08:00
										 |  |  |  | #include "..\easy2d.h"
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Animation::Animation(float duration) | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	m_nDuration = 0; | 
					
						
							|  |  |  |  | 	m_nTotalDuration = UINT(duration * 1000); | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | Animation::~Animation() | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-30 16:18:45 +08:00
										 |  |  |  | bool Animation::_isEnd() const | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	return m_nDuration >= m_nTotalDuration; | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-27 17:56:28 +08:00
										 |  |  |  | void Animation::_init() | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	// <20><>¼<EFBFBD><C2BC>ǰʱ<C7B0><CAB1>
 | 
					
						
							|  |  |  |  | 	QueryPerformanceCounter(&m_nLast); | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-08 12:30:45 +08:00
										 |  |  |  | bool Animation::_isDelayEnough(LARGE_INTEGER nNow) | 
					
						
							| 
									
										
										
										
											2017-09-27 17:56:28 +08:00
										 |  |  |  | { | 
					
						
							|  |  |  |  | 	// <20>ж<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>㹻
 | 
					
						
							|  |  |  |  | 	if (nNow.QuadPart - m_nLast.QuadPart > m_nAnimationInterval.QuadPart) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>¼ʱ<C2BC><CAB1>
 | 
					
						
							|  |  |  |  | 		m_nLast.QuadPart = nNow.QuadPart - (nNow.QuadPart % m_nAnimationInterval.QuadPart); | 
					
						
							|  |  |  |  | 		m_nDuration += m_nMilliSeconds; | 
					
						
							|  |  |  |  | 		return true; | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 	return false; | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | void Animation::_reset() | 
					
						
							|  |  |  |  | { | 
					
						
							| 
									
										
										
										
											2017-10-08 12:30:45 +08:00
										 |  |  |  | 	Action::_reset(); | 
					
						
							| 
									
										
										
										
											2017-09-27 17:56:28 +08:00
										 |  |  |  | 	m_nDuration = 0; | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD>¼<EFBFBD>¼<EFBFBD><C2BC>ǰʱ<C7B0><CAB1>
 | 
					
						
							|  |  |  |  | 	QueryPerformanceCounter(&m_nLast); | 
					
						
							|  |  |  |  | } |