| 
									
										
										
										
											2017-10-20 00:59:26 +08:00
										 |  |  |  | #pragma once
 | 
					
						
							|  |  |  |  | #include "ebase.h"
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace e2d | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | class ETransition : | 
					
						
							|  |  |  |  | 	public EObject | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	friend EApp; | 
					
						
							|  |  |  |  | public: | 
					
						
							| 
									
										
										
										
											2017-10-21 19:09:31 +08:00
										 |  |  |  | 	ETransition() { this->autoRelease(); } | 
					
						
							| 
									
										
										
										
											2017-10-20 00:59:26 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD>浱ǰ<E6B5B1><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD>Ϳ<EFBFBD><CDBF>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB>ı<EFBFBD><C4B1><EFBFBD>
 | 
					
						
							|  |  |  |  | 	virtual void _setTarget( | 
					
						
							|  |  |  |  | 		EScene * prev, | 
					
						
							|  |  |  |  | 		EScene * next, | 
					
						
							|  |  |  |  | 		bool &transitional | 
					
						
							|  |  |  |  | 	) = 0; | 
					
						
							|  |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | class ETransitionFade : | 
					
						
							|  |  |  |  | 	public ETransition | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | public: | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뵭<EFBFBD><EBB5AD>ʽ<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	ETransitionFade( | 
					
						
							|  |  |  |  | 		float fadeOutDuration,	/* ǰһ<C7B0><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */ | 
					
						
							|  |  |  |  | 		float fadeInDuration	/* <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>붯<EFBFBD><EBB6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */ | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD>浱ǰ<E6B5B1><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD>Ϳ<EFBFBD><CDBF>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB>ı<EFBFBD><C4B1><EFBFBD>
 | 
					
						
							|  |  |  |  | 	virtual void _setTarget( | 
					
						
							|  |  |  |  | 		EScene * prev, | 
					
						
							|  |  |  |  | 		EScene * next, | 
					
						
							|  |  |  |  | 		bool &transitional | 
					
						
							|  |  |  |  | 	) override; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	float m_fFadeOutDuration; | 
					
						
							|  |  |  |  | 	float m_fFadeInDuration; | 
					
						
							|  |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-21 19:09:31 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | class ETransitionEmerge : | 
					
						
							|  |  |  |  | 	public ETransition | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | public: | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	ETransitionEmerge( | 
					
						
							|  |  |  |  | 		float emergeDuration	/* <20><><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */ | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD>浱ǰ<E6B5B1><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD>Ϳ<EFBFBD><CDBF>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB>ı<EFBFBD><C4B1><EFBFBD>
 | 
					
						
							|  |  |  |  | 	virtual void _setTarget( | 
					
						
							|  |  |  |  | 		EScene * prev, | 
					
						
							|  |  |  |  | 		EScene * next, | 
					
						
							|  |  |  |  | 		bool &transitional | 
					
						
							|  |  |  |  | 	) override; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	float m_fEmergeDuration; | 
					
						
							|  |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | class ETransitionMove : | 
					
						
							|  |  |  |  | 	public ETransition | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | public: | 
					
						
							|  |  |  |  | 	enum MOVE_DIRECT | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		UP, | 
					
						
							|  |  |  |  | 		DOWN, | 
					
						
							|  |  |  |  | 		LEFT, | 
					
						
							|  |  |  |  | 		RIGHT | 
					
						
							|  |  |  |  | 	}; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>ʽ<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	ETransitionMove( | 
					
						
							|  |  |  |  | 		float moveDuration,	/* <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */ | 
					
						
							|  |  |  |  | 		MOVE_DIRECT direct	/* <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD> */ | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD>浱ǰ<E6B5B1><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD>Ϳ<EFBFBD><CDBF>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB>ı<EFBFBD><C4B1><EFBFBD>
 | 
					
						
							|  |  |  |  | 	virtual void _setTarget( | 
					
						
							|  |  |  |  | 		EScene * prev, | 
					
						
							|  |  |  |  | 		EScene * next, | 
					
						
							|  |  |  |  | 		bool &transitional | 
					
						
							|  |  |  |  | 	) override; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	float m_fMoveDuration; | 
					
						
							|  |  |  |  | 	MOVE_DIRECT m_Direct; | 
					
						
							|  |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | class ETransitionScale : | 
					
						
							|  |  |  |  | 	public ETransition | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | public: | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	ETransitionScale( | 
					
						
							|  |  |  |  | 		float scaleOutDuration,	/* <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */ | 
					
						
							|  |  |  |  | 		float scaleInDuration	/* <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */ | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD>浱ǰ<E6B5B1><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD>Ϳ<EFBFBD><CDBF>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB>ı<EFBFBD><C4B1><EFBFBD>
 | 
					
						
							|  |  |  |  | 	virtual void _setTarget( | 
					
						
							|  |  |  |  | 		EScene * prev, | 
					
						
							|  |  |  |  | 		EScene * next, | 
					
						
							|  |  |  |  | 		bool &transitional | 
					
						
							|  |  |  |  | 	) override; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	float m_fScaleOutDuration; | 
					
						
							|  |  |  |  | 	float m_fScaleInDuration; | 
					
						
							|  |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | class ETransitionScaleEmerge : | 
					
						
							|  |  |  |  | 	public ETransition | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | public: | 
					
						
							|  |  |  |  | 	enum SCALE_EMERGE_MODE | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		ENTER, | 
					
						
							|  |  |  |  | 		BACK | 
					
						
							|  |  |  |  | 	}; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>ʽ<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	ETransitionScaleEmerge( | 
					
						
							|  |  |  |  | 		float duration,			/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> */ | 
					
						
							|  |  |  |  | 		SCALE_EMERGE_MODE mode	/* <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD> */ | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD>浱ǰ<E6B5B1><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD>Ϳ<EFBFBD><CDBF>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD>л<EFBFBD><D0BB>ı<EFBFBD><C4B1><EFBFBD>
 | 
					
						
							|  |  |  |  | 	virtual void _setTarget( | 
					
						
							|  |  |  |  | 		EScene * prev, | 
					
						
							|  |  |  |  | 		EScene * next, | 
					
						
							|  |  |  |  | 		bool &transitional | 
					
						
							|  |  |  |  | 	) override; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	float m_fDuration; | 
					
						
							|  |  |  |  | 	SCALE_EMERGE_MODE m_Mode; | 
					
						
							|  |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-20 00:59:26 +08:00
										 |  |  |  | } |