All float to double
This commit is contained in:
		
							parent
							
								
									915f574b76
								
							
						
					
					
						commit
						22fba22dcc
					
				|  | @ -1,6 +1,6 @@ | ||||||
| #include "..\eactions.h" | #include "..\eactions.h" | ||||||
| 
 | 
 | ||||||
| e2d::ActionDelay::ActionDelay(float duration) | e2d::ActionDelay::ActionDelay(double duration) | ||||||
| { | { | ||||||
| 	m_fDelayTime = max(duration, 0); | 	m_fDelayTime = max(duration, 0); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| #include "..\eactions.h" | #include "..\eactions.h" | ||||||
| 
 | 
 | ||||||
| e2d::ActionGradual::ActionGradual(float duration) | e2d::ActionGradual::ActionGradual(double duration) | ||||||
| 	: m_fRateOfProgress(0) | 	: m_fRateOfProgress(0) | ||||||
| { | { | ||||||
| 	m_fDuration = max(duration, 0); | 	m_fDuration = max(duration, 0); | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| #include "..\eactions.h" | #include "..\eactions.h" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| e2d::ActionMoveBy::ActionMoveBy(float duration, Vector vector) : | e2d::ActionMoveBy::ActionMoveBy(double duration, Vector vector) : | ||||||
| 	ActionGradual(duration) | 	ActionGradual(duration) | ||||||
| { | { | ||||||
| 	m_MoveVec = vector; | 	m_MoveVec = vector; | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| #include "..\eactions.h" | #include "..\eactions.h" | ||||||
| 
 | 
 | ||||||
| e2d::ActionMoveTo::ActionMoveTo(float duration, Point pos) : | e2d::ActionMoveTo::ActionMoveTo(double duration, Point pos) : | ||||||
| 	ActionMoveBy(duration, Vector()) | 	ActionMoveBy(duration, Vector()) | ||||||
| { | { | ||||||
| 	m_EndPos = pos; | 	m_EndPos = pos; | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| #include "..\eactions.h" | #include "..\eactions.h" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| e2d::ActionOpacityBy::ActionOpacityBy(float duration, float opacity) : | e2d::ActionOpacityBy::ActionOpacityBy(double duration, double opacity) : | ||||||
| 	ActionGradual(duration) | 	ActionGradual(duration) | ||||||
| { | { | ||||||
| 	m_nVariation = opacity; | 	m_nVariation = opacity; | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| #include "..\eactions.h" | #include "..\eactions.h" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| e2d::ActionOpacityTo::ActionOpacityTo(float duration, float opacity) : | e2d::ActionOpacityTo::ActionOpacityTo(double duration, double opacity) : | ||||||
| 	ActionOpacityBy(duration, 0) | 	ActionOpacityBy(duration, 0) | ||||||
| { | { | ||||||
| 	m_nEndVal = opacity; | 	m_nEndVal = opacity; | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| #include "..\eactions.h" | #include "..\eactions.h" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| e2d::ActionRotateBy::ActionRotateBy(float duration, float rotation) : | e2d::ActionRotateBy::ActionRotateBy(double duration, double rotation) : | ||||||
| 	ActionGradual(duration) | 	ActionGradual(duration) | ||||||
| { | { | ||||||
| 	m_nVariation = rotation; | 	m_nVariation = rotation; | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| #include "..\eactions.h" | #include "..\eactions.h" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| e2d::ActionRotateTo::ActionRotateTo(float duration, float rotation) : | e2d::ActionRotateTo::ActionRotateTo(double duration, double rotation) : | ||||||
| 	ActionRotateBy(duration, 0) | 	ActionRotateBy(duration, 0) | ||||||
| { | { | ||||||
| 	m_nEndVal = rotation; | 	m_nEndVal = rotation; | ||||||
|  |  | ||||||
|  | @ -1,14 +1,14 @@ | ||||||
| #include "..\eactions.h" | #include "..\eactions.h" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| e2d::ActionScaleBy::ActionScaleBy(float duration, float scale) | e2d::ActionScaleBy::ActionScaleBy(double duration, double scale) | ||||||
| 	: ActionGradual(duration) | 	: ActionGradual(duration) | ||||||
| { | { | ||||||
| 	m_nVariationX = scale; | 	m_nVariationX = scale; | ||||||
| 	m_nVariationY = scale; | 	m_nVariationY = scale; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| e2d::ActionScaleBy::ActionScaleBy(float duration, float scaleX, float scaleY) | e2d::ActionScaleBy::ActionScaleBy(double duration, double scaleX, double scaleY) | ||||||
| 	: ActionGradual(duration) | 	: ActionGradual(duration) | ||||||
| { | { | ||||||
| 	m_nVariationX = scaleX; | 	m_nVariationX = scaleX; | ||||||
|  |  | ||||||
|  | @ -1,13 +1,13 @@ | ||||||
| #include "..\eactions.h" | #include "..\eactions.h" | ||||||
| 
 | 
 | ||||||
| e2d::ActionScaleTo::ActionScaleTo(float duration, float scale) | e2d::ActionScaleTo::ActionScaleTo(double duration, double scale) | ||||||
| 	: ActionScaleBy(duration, 0, 0) | 	: ActionScaleBy(duration, 0, 0) | ||||||
| { | { | ||||||
| 	m_nEndScaleX = scale; | 	m_nEndScaleX = scale; | ||||||
| 	m_nEndScaleY = scale; | 	m_nEndScaleY = scale; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| e2d::ActionScaleTo::ActionScaleTo(float duration, float scaleX, float scaleY) | e2d::ActionScaleTo::ActionScaleTo(double duration, double scaleX, double scaleY) | ||||||
| 	: ActionScaleBy(duration, 0, 0) | 	: ActionScaleBy(duration, 0, 0) | ||||||
| { | { | ||||||
| 	m_nEndScaleX = scaleX; | 	m_nEndScaleX = scaleX; | ||||||
|  |  | ||||||
|  | @ -5,7 +5,7 @@ e2d::Animation::Animation() | ||||||
| { | { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| e2d::Animation::Animation(float invertal) | e2d::Animation::Animation(double invertal) | ||||||
| 	: m_nFrameIndex(0) | 	: m_nFrameIndex(0) | ||||||
| 	, m_fInterval(invertal) | 	, m_fInterval(invertal) | ||||||
| { | { | ||||||
|  | @ -19,7 +19,7 @@ e2d::Animation::~Animation() | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Animation::setInterval(float interval) | void e2d::Animation::setInterval(double interval) | ||||||
| { | { | ||||||
| 	m_fInterval = max(interval, 0); | 	m_fInterval = max(interval, 0); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -224,32 +224,32 @@ bool Input::isMouseMButtonRelease() | ||||||
| 	return false; | 	return false; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float Input::getMouseX() | double Input::getMouseX() | ||||||
| { | { | ||||||
| 	return (float)s_MousePosition.x; | 	return (double)s_MousePosition.x; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float Input::getMouseY() | double Input::getMouseY() | ||||||
| { | { | ||||||
| 	return (float)s_MousePosition.y; | 	return (double)s_MousePosition.y; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| Point Input::getMousePos() | Point Input::getMousePos() | ||||||
| { | { | ||||||
| 	return Point((float)s_MousePosition.x, (float)s_MousePosition.y); | 	return Point((double)s_MousePosition.x, (double)s_MousePosition.y); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float Input::getMouseDeltaX() | double Input::getMouseDeltaX() | ||||||
| { | { | ||||||
| 	return (float)s_MouseState.lX; | 	return (double)s_MouseState.lX; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float Input::getMouseDeltaY() | double Input::getMouseDeltaY() | ||||||
| { | { | ||||||
| 	return (float)s_MouseState.lY; | 	return (double)s_MouseState.lY; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float Input::getMouseDeltaZ() | double Input::getMouseDeltaZ() | ||||||
| { | { | ||||||
| 	return (float)s_MouseState.lZ; | 	return (double)s_MouseState.lZ; | ||||||
| } | } | ||||||
|  | @ -15,12 +15,12 @@ static steady_clock::time_point s_tLastUpdate; | ||||||
| // 上一帧与当前帧的时间间隔
 | // 上一帧与当前帧的时间间隔
 | ||||||
| static int s_nInterval = 0; | static int s_nInterval = 0; | ||||||
| // 游戏开始时长
 | // 游戏开始时长
 | ||||||
| static float s_fTotalTime = 0; | static double s_fTotalTime = 0; | ||||||
| // 每一帧间隔
 | // 每一帧间隔
 | ||||||
| static milliseconds s_tExceptedInvertal; | static milliseconds s_tExceptedInvertal; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| float e2d::Time::getTotalTime() | double e2d::Time::getTotalTime() | ||||||
| { | { | ||||||
| 	return s_fTotalTime; | 	return s_fTotalTime; | ||||||
| } | } | ||||||
|  | @ -59,7 +59,7 @@ void e2d::Time::__updateLast() | ||||||
| 
 | 
 | ||||||
| 	s_tNow = steady_clock::now(); | 	s_tNow = steady_clock::now(); | ||||||
| 	s_nInterval = static_cast<int>(duration_cast<milliseconds>(s_tNow - s_tLastUpdate).count()); | 	s_nInterval = static_cast<int>(duration_cast<milliseconds>(s_tNow - s_tLastUpdate).count()); | ||||||
| 	s_fTotalTime = static_cast<float>(duration_cast<milliseconds>(s_tNow - s_tStart).count()) / 1000.0f; | 	s_fTotalTime = static_cast<double>(duration_cast<milliseconds>(s_tNow - s_tStart).count()) / 1000.0f; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Time::__sleep() | void e2d::Time::__sleep() | ||||||
|  |  | ||||||
|  | @ -38,7 +38,7 @@ bool e2d::Window::__init(LPCTSTR sTitle, UINT32 nWidth, UINT32 nHeight, LPCTSTR | ||||||
| 
 | 
 | ||||||
| 	// 因为 CreateWindow 函数使用的是像素大小,获取系统的 DPI 以使它
 | 	// 因为 CreateWindow 函数使用的是像素大小,获取系统的 DPI 以使它
 | ||||||
| 	// 适应窗口缩放
 | 	// 适应窗口缩放
 | ||||||
| 	FLOAT dpiX, dpiY; | 	float dpiX, dpiY; | ||||||
| 
 | 
 | ||||||
| 	// 工厂将返回当前的系统 DPI,这个值也将用来创建窗口
 | 	// 工厂将返回当前的系统 DPI,这个值也将用来创建窗口
 | ||||||
| 	Renderer::getID2D1Factory()->GetDesktopDpi(&dpiX, &dpiY); | 	Renderer::getID2D1Factory()->GetDesktopDpi(&dpiX, &dpiY); | ||||||
|  | @ -123,12 +123,12 @@ void e2d::Window::__poll() | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Window::getWidth() | double e2d::Window::getWidth() | ||||||
| { | { | ||||||
| 	return Renderer::getRenderTarget()->GetSize().width; | 	return Renderer::getRenderTarget()->GetSize().width; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Window::getHeight() | double e2d::Window::getHeight() | ||||||
| { | { | ||||||
| 	return Renderer::getRenderTarget()->GetSize().height; | 	return Renderer::getRenderTarget()->GetSize().height; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -10,7 +10,7 @@ e2d::Font::Font() | ||||||
| { | { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| e2d::Font::Font(String fontFamily, float fontSize /* = 22 */, UINT32 color /* = EColor::WHITE */, UINT32 fontWeight, bool italic /* = false */) | e2d::Font::Font(String fontFamily, double fontSize /* = 22 */, UINT32 color /* = EColor::WHITE */, UINT32 fontWeight, bool italic /* = false */) | ||||||
| 	: m_pTextFormat(nullptr) | 	: m_pTextFormat(nullptr) | ||||||
| 	, m_Color(Color::WHITE) | 	, m_Color(Color::WHITE) | ||||||
| 	, m_fFontSize(22) | 	, m_fFontSize(22) | ||||||
|  | @ -30,7 +30,7 @@ e2d::Font::~Font() | ||||||
| 	SafeReleaseInterface(&m_pTextFormat); | 	SafeReleaseInterface(&m_pTextFormat); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Font::getFontSize() const | double e2d::Font::getFontSize() const | ||||||
| { | { | ||||||
| 	return m_fFontSize; | 	return m_fFontSize; | ||||||
| } | } | ||||||
|  | @ -56,9 +56,9 @@ void e2d::Font::setFamily(const String & fontFamily) | ||||||
| 	m_bRecreateNeeded = true; | 	m_bRecreateNeeded = true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Font::setSize(float fontSize) | void e2d::Font::setSize(double fontSize) | ||||||
| { | { | ||||||
| 	m_fFontSize = fontSize; | 	m_fFontSize = static_cast<float>(fontSize); | ||||||
| 	m_bRecreateNeeded = true; | 	m_bRecreateNeeded = true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -18,7 +18,7 @@ e2d::Image::Image(LPCTSTR strFileName) | ||||||
| 	this->loadFrom(strFileName); | 	this->loadFrom(strFileName); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| e2d::Image::Image(LPCTSTR strFileName, float nClipX, float nClipY, float nClipWidth, float nClipHeight) | e2d::Image::Image(LPCTSTR strFileName, double nClipX, double nClipY, double nClipWidth, double nClipHeight) | ||||||
| { | { | ||||||
| 	this->loadFrom(strFileName); | 	this->loadFrom(strFileName); | ||||||
| 	this->clip(nClipX, nClipY, nClipWidth, nClipHeight); | 	this->clip(nClipX, nClipY, nClipWidth, nClipHeight); | ||||||
|  | @ -47,13 +47,13 @@ void e2d::Image::loadFrom(const String & strFilePath) | ||||||
| 	m_fSourceClipHeight = m_pBitmap->GetSize().height; | 	m_fSourceClipHeight = m_pBitmap->GetSize().height; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Image::loadFrom(const String & strFilePath, float x, float y, float width, float height) | void e2d::Image::loadFrom(const String & strFilePath, double x, double y, double width, double height) | ||||||
| { | { | ||||||
| 	loadFrom(strFilePath); | 	loadFrom(strFilePath); | ||||||
| 	clip(x, y, width, height); | 	clip(x, y, width, height); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Image::clip(float x, float y, float width, float height) | void e2d::Image::clip(double x, double y, double width, double height) | ||||||
| { | { | ||||||
| 	if (m_pBitmap) | 	if (m_pBitmap) | ||||||
| 	{ | 	{ | ||||||
|  | @ -64,12 +64,12 @@ void e2d::Image::clip(float x, float y, float width, float height) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Image::getWidth() const | double e2d::Image::getWidth() const | ||||||
| { | { | ||||||
| 	return m_fSourceClipWidth; | 	return m_fSourceClipWidth; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Image::getHeight() const | double e2d::Image::getHeight() const | ||||||
| { | { | ||||||
| 	return m_fSourceClipHeight; | 	return m_fSourceClipHeight; | ||||||
| } | } | ||||||
|  | @ -79,7 +79,7 @@ e2d::Size e2d::Image::getSize() const | ||||||
| 	return Size(m_fSourceClipWidth, m_fSourceClipHeight); | 	return Size(m_fSourceClipWidth, m_fSourceClipHeight); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Image::getSourceWidth() const | double e2d::Image::getSourceWidth() const | ||||||
| { | { | ||||||
| 	if (m_pBitmap) | 	if (m_pBitmap) | ||||||
| 	{ | 	{ | ||||||
|  | @ -91,7 +91,7 @@ float e2d::Image::getSourceWidth() const | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Image::getSourceHeight() const | double e2d::Image::getSourceHeight() const | ||||||
| { | { | ||||||
| 	if (m_pBitmap) | 	if (m_pBitmap) | ||||||
| 	{ | 	{ | ||||||
|  | @ -115,12 +115,12 @@ e2d::Size e2d::Image::getSourceSize() const | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Image::getClipX() const | double e2d::Image::getClipX() const | ||||||
| { | { | ||||||
| 	return m_fSourceClipX; | 	return m_fSourceClipX; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Image::getClipY() const | double e2d::Image::getClipY() const | ||||||
| { | { | ||||||
| 	return m_fSourceClipY; | 	return m_fSourceClipY; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -11,6 +11,10 @@ static float s_fDefaultPiovtY = 0; | ||||||
| 
 | 
 | ||||||
| e2d::Node::Node() | e2d::Node::Node() | ||||||
| 	: m_nOrder(0) | 	: m_nOrder(0) | ||||||
|  | 	, m_fPosX(0) | ||||||
|  | 	, m_fPosY(0) | ||||||
|  | 	, m_fWidth(0) | ||||||
|  | 	, m_fHeight(0) | ||||||
| 	, m_fScaleX(1.0f) | 	, m_fScaleX(1.0f) | ||||||
| 	, m_fScaleY(1.0f) | 	, m_fScaleY(1.0f) | ||||||
| 	, m_fRotation(0) | 	, m_fRotation(0) | ||||||
|  | @ -203,8 +207,8 @@ void e2d::Node::_updateTransform() | ||||||
| { | { | ||||||
| 	// 计算中心点坐标
 | 	// 计算中心点坐标
 | ||||||
| 	D2D1_POINT_2F pivot = D2D1::Point2F( | 	D2D1_POINT_2F pivot = D2D1::Point2F( | ||||||
| 		getRealWidth() * m_fPivotX, | 		m_fWidth * m_fPivotX, | ||||||
| 		getRealHeight() * m_fPivotY | 		m_fHeight * m_fPivotY | ||||||
| 	); | 	); | ||||||
| 	// 变换 Initial 矩阵,子节点将根据这个矩阵进行变换
 | 	// 变换 Initial 矩阵,子节点将根据这个矩阵进行变换
 | ||||||
| 	m_MatriInitial = D2D1::Matrix3x2F::Scale( | 	m_MatriInitial = D2D1::Matrix3x2F::Scale( | ||||||
|  | @ -219,8 +223,8 @@ void e2d::Node::_updateTransform() | ||||||
| 		m_fRotation, | 		m_fRotation, | ||||||
| 		pivot | 		pivot | ||||||
| 	) * D2D1::Matrix3x2F::Translation( | 	) * D2D1::Matrix3x2F::Translation( | ||||||
| 		m_Pos.x, | 		m_fPosX, | ||||||
| 		m_Pos.y | 		m_fPosY | ||||||
| 	); | 	); | ||||||
| 	// 根据自身中心点变换 Final 矩阵
 | 	// 根据自身中心点变换 Final 矩阵
 | ||||||
| 	m_MatriFinal = m_MatriInitial * D2D1::Matrix3x2F::Translation(-pivot.x, -pivot.y); | 	m_MatriFinal = m_MatriInitial * D2D1::Matrix3x2F::Translation(-pivot.x, -pivot.y); | ||||||
|  | @ -282,52 +286,52 @@ e2d::String e2d::Node::getName() const | ||||||
| 	return m_sName; | 	return m_sName; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Node::getPosX() const | double e2d::Node::getPosX() const | ||||||
| { | { | ||||||
| 	return m_Pos.x; | 	return m_fPosX; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Node::getPosY() const | double e2d::Node::getPosY() const | ||||||
| { | { | ||||||
| 	return m_Pos.y; | 	return m_fPosY; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| e2d::Point e2d::Node::getPos() const | e2d::Point e2d::Node::getPos() const | ||||||
| { | { | ||||||
| 	return m_Pos; | 	return Point(m_fPosX, m_fPosY); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Node::getWidth() const | double e2d::Node::getWidth() const | ||||||
| { | { | ||||||
| 	return m_Size.width * m_fScaleX; | 	return m_fWidth * m_fScaleX; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Node::getHeight() const | double e2d::Node::getHeight() const | ||||||
| { | { | ||||||
| 	return m_Size.height * m_fScaleY; | 	return m_fHeight * m_fScaleY; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Node::getRealWidth() const | double e2d::Node::getRealWidth() const | ||||||
| { | { | ||||||
| 	return m_Size.width; | 	return m_fWidth; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Node::getRealHeight() const | double e2d::Node::getRealHeight() const | ||||||
| { | { | ||||||
| 	return m_Size.height; | 	return m_fHeight; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| e2d::Size e2d::Node::getRealSize() const | e2d::Size e2d::Node::getRealSize() const | ||||||
| { | { | ||||||
| 	return m_Size; | 	return Size(m_fWidth, m_fHeight); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Node::getPivotX() const | double e2d::Node::getPivotX() const | ||||||
| { | { | ||||||
| 	return m_fPivotX; | 	return m_fPivotX; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Node::getPivotY() const | double e2d::Node::getPivotY() const | ||||||
| { | { | ||||||
| 	return m_fPivotY; | 	return m_fPivotY; | ||||||
| } | } | ||||||
|  | @ -337,32 +341,32 @@ e2d::Size e2d::Node::getSize() const | ||||||
| 	return Size(getWidth(), getHeight()); | 	return Size(getWidth(), getHeight()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Node::getScaleX() const | double e2d::Node::getScaleX() const | ||||||
| { | { | ||||||
| 	return m_fScaleX; | 	return m_fScaleX; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Node::getScaleY() const | double e2d::Node::getScaleY() const | ||||||
| { | { | ||||||
| 	return m_fScaleY; | 	return m_fScaleY; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Node::getSkewX() const | double e2d::Node::getSkewX() const | ||||||
| { | { | ||||||
| 	return m_fSkewAngleX; | 	return m_fSkewAngleX; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Node::getSkewY() const | double e2d::Node::getSkewY() const | ||||||
| { | { | ||||||
| 	return m_fSkewAngleY; | 	return m_fSkewAngleY; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Node::getRotation() const | double e2d::Node::getRotation() const | ||||||
| { | { | ||||||
| 	return m_fRotation; | 	return m_fRotation; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Node::getOpacity() const | double e2d::Node::getOpacity() const | ||||||
| { | { | ||||||
| 	return m_fRealOpacity; | 	return m_fRealOpacity; | ||||||
| } | } | ||||||
|  | @ -382,14 +386,14 @@ void e2d::Node::setOrder(int order) | ||||||
| 	m_nOrder = order; | 	m_nOrder = order; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setPosX(float x) | void e2d::Node::setPosX(double x) | ||||||
| { | { | ||||||
| 	this->setPos(x, m_Pos.y); | 	this->setPos(x, m_fPosY); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setPosY(float y) | void e2d::Node::setPosY(double y) | ||||||
| { | { | ||||||
| 	this->setPos(m_Pos.x, y); | 	this->setPos(m_fPosX, y); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setPos(const Point & p) | void e2d::Node::setPos(const Point & p) | ||||||
|  | @ -397,29 +401,29 @@ void e2d::Node::setPos(const Point & p) | ||||||
| 	this->setPos(p.x, p.y); | 	this->setPos(p.x, p.y); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setPos(float x, float y) | void e2d::Node::setPos(double x, double y) | ||||||
| { | { | ||||||
| 	if (m_Pos.x == x && m_Pos.y == y) | 	if (m_fPosX == x && m_fPosY == y) | ||||||
| 		return; | 		return; | ||||||
| 
 | 
 | ||||||
| 	m_Pos.x = x; | 	m_fPosX = static_cast<float>(x); | ||||||
| 	m_Pos.y = y; | 	m_fPosY = static_cast<float>(y); | ||||||
| 	m_bTransformNeeded = true; | 	m_bTransformNeeded = true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::movePosX(float x) | void e2d::Node::movePosX(double x) | ||||||
| { | { | ||||||
| 	this->movePos(x, 0); | 	this->movePos(x, 0); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::movePosY(float y) | void e2d::Node::movePosY(double y) | ||||||
| { | { | ||||||
| 	this->movePos(0, y); | 	this->movePos(0, y); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::movePos(float x, float y) | void e2d::Node::movePos(double x, double y) | ||||||
| { | { | ||||||
| 	this->setPos(m_Pos.x + x, m_Pos.y + y); | 	this->setPos(m_fPosX + x, m_fPosY + y); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::movePos(const Vector & v) | void e2d::Node::movePos(const Vector & v) | ||||||
|  | @ -427,97 +431,97 @@ void e2d::Node::movePos(const Vector & v) | ||||||
| 	this->movePos(v.x, v.y); | 	this->movePos(v.x, v.y); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::_setSize(float width, float height) | void e2d::Node::_setSize(double width, double height) | ||||||
| { | { | ||||||
| 	if (m_Size.width == width && m_Size.height == height) | 	if (m_fWidth == width && m_fHeight == height) | ||||||
| 		return; | 		return; | ||||||
| 
 | 
 | ||||||
| 	m_Size.width = width; | 	m_fWidth = static_cast<float>(width); | ||||||
| 	m_Size.height = height; | 	m_fHeight = static_cast<float>(height); | ||||||
| 	m_bTransformNeeded = true; | 	m_bTransformNeeded = true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setScaleX(float scaleX) | void e2d::Node::setScaleX(double scaleX) | ||||||
| { | { | ||||||
| 	this->setScale(scaleX, m_fScaleY); | 	this->setScale(scaleX, m_fScaleY); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setScaleY(float scaleY) | void e2d::Node::setScaleY(double scaleY) | ||||||
| { | { | ||||||
| 	this->setScale(m_fScaleX, scaleY); | 	this->setScale(m_fScaleX, scaleY); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setScale(float scale) | void e2d::Node::setScale(double scale) | ||||||
| { | { | ||||||
| 	this->setScale(scale, scale); | 	this->setScale(scale, scale); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setScale(float scaleX, float scaleY) | void e2d::Node::setScale(double scaleX, double scaleY) | ||||||
| { | { | ||||||
| 	if (m_fScaleX == scaleX && m_fScaleY == scaleY) | 	if (m_fScaleX == scaleX && m_fScaleY == scaleY) | ||||||
| 		return; | 		return; | ||||||
| 
 | 
 | ||||||
| 	m_fScaleX = scaleX; | 	m_fScaleX = static_cast<float>(scaleX); | ||||||
| 	m_fScaleY = scaleY; | 	m_fScaleY = static_cast<float>(scaleY); | ||||||
| 	m_bTransformNeeded = true; | 	m_bTransformNeeded = true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setSkewX(float angleX) | void e2d::Node::setSkewX(double angleX) | ||||||
| { | { | ||||||
| 	this->setSkew(angleX, m_fSkewAngleY); | 	this->setSkew(angleX, m_fSkewAngleY); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setSkewY(float angleY) | void e2d::Node::setSkewY(double angleY) | ||||||
| { | { | ||||||
| 	this->setSkew(m_fSkewAngleX, angleY); | 	this->setSkew(m_fSkewAngleX, angleY); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setSkew(float angleX, float angleY) | void e2d::Node::setSkew(double angleX, double angleY) | ||||||
| { | { | ||||||
| 	if (m_fSkewAngleX == angleX && m_fSkewAngleY == angleY) | 	if (m_fSkewAngleX == angleX && m_fSkewAngleY == angleY) | ||||||
| 		return; | 		return; | ||||||
| 
 | 
 | ||||||
| 	m_fSkewAngleX = angleX; | 	m_fSkewAngleX = static_cast<float>(angleX); | ||||||
| 	m_fSkewAngleY = angleY; | 	m_fSkewAngleY = static_cast<float>(angleY); | ||||||
| 	m_bTransformNeeded = true; | 	m_bTransformNeeded = true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setRotation(float angle) | void e2d::Node::setRotation(double angle) | ||||||
| { | { | ||||||
| 	if (m_fRotation == angle) | 	if (m_fRotation == angle) | ||||||
| 		return; | 		return; | ||||||
| 
 | 
 | ||||||
| 	m_fRotation = angle; | 	m_fRotation = static_cast<float>(angle); | ||||||
| 	m_bTransformNeeded = true; | 	m_bTransformNeeded = true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setOpacity(float opacity) | void e2d::Node::setOpacity(double opacity) | ||||||
| { | { | ||||||
| 	if (m_fRealOpacity == opacity) | 	if (m_fRealOpacity == opacity) | ||||||
| 		return; | 		return; | ||||||
| 
 | 
 | ||||||
| 	m_fDisplayOpacity = m_fRealOpacity = min(max(opacity, 0), 1); | 	m_fDisplayOpacity = m_fRealOpacity = min(max(static_cast<float>(opacity), 0), 1); | ||||||
| 	// 更新节点透明度
 | 	// 更新节点透明度
 | ||||||
| 	_updateOpacity(this); | 	_updateOpacity(this); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setPivotX(float pivotX) | void e2d::Node::setPivotX(double pivotX) | ||||||
| { | { | ||||||
| 	this->setPivot(pivotX, m_fPivotY); | 	this->setPivot(pivotX, m_fPivotY); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setPivotY(float pivotY) | void e2d::Node::setPivotY(double pivotY) | ||||||
| { | { | ||||||
| 	this->setPivot(m_fPivotX, pivotY); | 	this->setPivot(m_fPivotX, pivotY); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setPivot(float pivotX, float pivotY) | void e2d::Node::setPivot(double pivotX, double pivotY) | ||||||
| { | { | ||||||
| 	if (m_fPivotX == pivotX && m_fPivotY == pivotY) | 	if (m_fPivotX == pivotX && m_fPivotY == pivotY) | ||||||
| 		return; | 		return; | ||||||
| 
 | 
 | ||||||
| 	m_fPivotX = min(max(pivotX, 0), 1); | 	m_fPivotX = min(max(static_cast<float>(pivotX), 0), 1); | ||||||
| 	m_fPivotY = min(max(pivotY, 0), 1); | 	m_fPivotY = min(max(static_cast<float>(pivotY), 0), 1); | ||||||
| 	m_bTransformNeeded = true; | 	m_bTransformNeeded = true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -768,13 +772,15 @@ bool e2d::Node::isPointIn(Point point) | ||||||
| 	// 为节点创建一个形状
 | 	// 为节点创建一个形状
 | ||||||
| 	ID2D1RectangleGeometry * rect; | 	ID2D1RectangleGeometry * rect; | ||||||
| 	Renderer::getID2D1Factory()->CreateRectangleGeometry( | 	Renderer::getID2D1Factory()->CreateRectangleGeometry( | ||||||
| 		D2D1::RectF(0, 0, getWidth(), getHeight()), | 		D2D1::RectF(0, 0, m_fWidth * m_fScaleX, m_fHeight * m_fScaleY), | ||||||
| 		&rect | 		&rect | ||||||
| 	); | 	); | ||||||
| 	// 判断点是否在形状内
 | 	// 判断点是否在形状内
 | ||||||
| 	BOOL ret; | 	BOOL ret; | ||||||
| 	rect->FillContainsPoint( | 	rect->FillContainsPoint( | ||||||
| 		D2D1::Point2F(point.x, point.y), | 		D2D1::Point2F( | ||||||
|  | 			static_cast<float>(point.x),  | ||||||
|  | 			static_cast<float>(point.y)), | ||||||
| 		&m_MatriFinal, | 		&m_MatriFinal, | ||||||
| 		&ret | 		&ret | ||||||
| 	); | 	); | ||||||
|  | @ -796,10 +802,10 @@ void e2d::Node::setAutoUpdate(bool bAutoUpdate) | ||||||
| 	m_bAutoUpdate = bAutoUpdate; | 	m_bAutoUpdate = bAutoUpdate; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::setDefaultPiovt(float defaultPiovtX, float defaultPiovtY) | void e2d::Node::setDefaultPiovt(double defaultPiovtX, double defaultPiovtY) | ||||||
| { | { | ||||||
| 	s_fDefaultPiovtX = min(max(defaultPiovtX, 0), 1); | 	s_fDefaultPiovtX = min(max(static_cast<float>(defaultPiovtX), 0), 1); | ||||||
| 	s_fDefaultPiovtY = min(max(defaultPiovtY, 0), 1); | 	s_fDefaultPiovtY = min(max(static_cast<float>(defaultPiovtY), 0), 1); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Node::stopAction(Action * action) | void e2d::Node::stopAction(Action * action) | ||||||
|  |  | ||||||
|  | @ -18,7 +18,7 @@ e2d::Sprite::Sprite(LPCTSTR imageFileName) | ||||||
| 	loadFrom(imageFileName); | 	loadFrom(imageFileName); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| e2d::Sprite::Sprite(LPCTSTR imageFileName, float x, float y, float width, float height) | e2d::Sprite::Sprite(LPCTSTR imageFileName, double x, double y, double width, double height) | ||||||
| 	: m_pImage(nullptr) | 	: m_pImage(nullptr) | ||||||
| { | { | ||||||
| 	loadFrom(imageFileName); | 	loadFrom(imageFileName); | ||||||
|  | @ -47,7 +47,7 @@ void e2d::Sprite::loadFrom(LPCTSTR imageFileName) | ||||||
| 	loadFrom(new Image(imageFileName)); | 	loadFrom(new Image(imageFileName)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Sprite::clip(float x, float y, float width, float height) | void e2d::Sprite::clip(double x, double y, double width, double height) | ||||||
| { | { | ||||||
| 	m_pImage->clip(x, y, width, height); | 	m_pImage->clip(x, y, width, height); | ||||||
| 	Node::_setSize( | 	Node::_setSize( | ||||||
|  | @ -65,17 +65,19 @@ void e2d::Sprite::onRender() | ||||||
| { | { | ||||||
| 	if (m_pImage && m_pImage->getBitmap()) | 	if (m_pImage && m_pImage->getBitmap()) | ||||||
| 	{ | 	{ | ||||||
|  | 		float fClipX = static_cast<float>(m_pImage->getClipX()); | ||||||
|  | 		float fClipY = static_cast<float>(m_pImage->getClipY()); | ||||||
| 		// äÖȾͼƬ
 | 		// äÖȾͼƬ
 | ||||||
| 		Renderer::getRenderTarget()->DrawBitmap( | 		Renderer::getRenderTarget()->DrawBitmap( | ||||||
| 			m_pImage->getBitmap(), | 			m_pImage->getBitmap(), | ||||||
| 			D2D1::RectF(0, 0, getRealWidth(), getRealHeight()), | 			D2D1::RectF(0, 0, m_fWidth, m_fHeight), | ||||||
| 			m_fDisplayOpacity, | 			m_fDisplayOpacity, | ||||||
| 			D2D1_BITMAP_INTERPOLATION_MODE_LINEAR, | 			D2D1_BITMAP_INTERPOLATION_MODE_LINEAR, | ||||||
| 			D2D1::RectF( | 			D2D1::RectF( | ||||||
| 				m_pImage->getClipX(), | 				fClipX, | ||||||
| 				m_pImage->getClipY(), | 				fClipY, | ||||||
| 				m_pImage->getClipX() + getRealWidth(), | 				fClipX + m_fWidth, | ||||||
| 				m_pImage->getClipY() + getRealHeight() | 				fClipY + m_fHeight | ||||||
| 			) | 			) | ||||||
| 		); | 		); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -34,7 +34,7 @@ e2d::Text::Text(const String & text, Font * font) | ||||||
| 	this->setFont(font); | 	this->setFont(font); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| e2d::Text::Text(const String & text, String fontFamily, float fontSize, UINT32 color, UINT32 fontWeight, bool italic) | e2d::Text::Text(const String & text, String fontFamily, double fontSize, UINT32 color, UINT32 fontWeight, bool italic) | ||||||
| 	: m_bWordWrapping(false) | 	: m_bWordWrapping(false) | ||||||
| 	, m_pFont(nullptr) | 	, m_pFont(nullptr) | ||||||
| 	, m_fWordWrappingWidth(0) | 	, m_fWordWrappingWidth(0) | ||||||
|  | @ -53,12 +53,12 @@ e2d::String e2d::Text::getText() const | ||||||
| 	return m_sText; | 	return m_sText; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Text::getWidth() const | double e2d::Text::getWidth() const | ||||||
| { | { | ||||||
| 	return m_fWordWrappingWidth * m_fScaleX; | 	return m_fWordWrappingWidth * m_fScaleX; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Text::getRealWidth() const | double e2d::Text::getRealWidth() const | ||||||
| { | { | ||||||
| 	return m_fWordWrappingWidth; | 	return m_fWordWrappingWidth; | ||||||
| } | } | ||||||
|  | @ -92,9 +92,9 @@ void e2d::Text::setWordWrappingEnable(bool value) | ||||||
| 	_initTextLayout(); | 	_initTextLayout(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Text::setWordWrappingWidth(float wordWrapWidth) | void e2d::Text::setWordWrappingWidth(double wordWrapWidth) | ||||||
| { | { | ||||||
| 	m_fWordWrappingWidth = max(wordWrapWidth, 0); | 	m_fWordWrappingWidth = max(static_cast<float>(wordWrapWidth), 0); | ||||||
| 	_initTextLayout(); | 	_initTextLayout(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -108,8 +108,8 @@ void e2d::Text::onRender() | ||||||
| 		D2D1::RectF( | 		D2D1::RectF( | ||||||
| 			0, | 			0, | ||||||
| 			0, | 			0, | ||||||
| 			m_bWordWrapping ? m_fWordWrappingWidth : m_Size.width, | 			m_bWordWrapping ? m_fWordWrappingWidth : m_fWidth, | ||||||
| 			getRealHeight() | 			m_fHeight | ||||||
| 		), | 		), | ||||||
| 		Renderer::getSolidColorBrush() | 		Renderer::getSolidColorBrush() | ||||||
| 	); | 	); | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ e2d::Circle::Circle() | ||||||
| { | { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| e2d::Circle::Circle(Point center, float radius) | e2d::Circle::Circle(Point center, double radius) | ||||||
| 	: m_pD2dCircle(nullptr) | 	: m_pD2dCircle(nullptr) | ||||||
| { | { | ||||||
| 	this->_setCircle(center, radius); | 	this->_setCircle(center, radius); | ||||||
|  | @ -15,7 +15,7 @@ e2d::Circle::Circle(Point center, float radius) | ||||||
| e2d::Circle::Circle(Node * node) | e2d::Circle::Circle(Node * node) | ||||||
| 	: m_pD2dCircle(nullptr) | 	: m_pD2dCircle(nullptr) | ||||||
| { | { | ||||||
| 	float minSide = min(node->getRealWidth(), node->getRealHeight()); | 	double minSide = min(node->getRealWidth(), node->getRealHeight()); | ||||||
| 	this->_setCircle( | 	this->_setCircle( | ||||||
| 		Point( | 		Point( | ||||||
| 			node->getRealWidth() / 2, | 			node->getRealWidth() / 2, | ||||||
|  | @ -30,17 +30,17 @@ e2d::Circle::~Circle() | ||||||
| 	SafeReleaseInterface(&m_pD2dCircle); | 	SafeReleaseInterface(&m_pD2dCircle); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Circle::_setCircle(Point center, float radius) | void e2d::Circle::_setCircle(Point center, double radius) | ||||||
| { | { | ||||||
| 	SafeReleaseInterface(&m_pD2dCircle); | 	SafeReleaseInterface(&m_pD2dCircle); | ||||||
| 
 | 
 | ||||||
| 	Renderer::getID2D1Factory()->CreateEllipseGeometry( | 	Renderer::getID2D1Factory()->CreateEllipseGeometry( | ||||||
| 		D2D1::Ellipse( | 		D2D1::Ellipse( | ||||||
| 			D2D1::Point2F( | 			D2D1::Point2F( | ||||||
| 				center.x,  | 				static_cast<float>(center.x),  | ||||||
| 				center.y), | 				static_cast<float>(center.y)), | ||||||
| 			radius, | 			static_cast<float>(radius), | ||||||
| 			radius), | 			static_cast<float>(radius)), | ||||||
| 			&m_pD2dCircle | 			&m_pD2dCircle | ||||||
| 		); | 		); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ e2d::Ellipse::Ellipse() | ||||||
| { | { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| e2d::Ellipse::Ellipse(Point center, float radiusX, float radiusY) | e2d::Ellipse::Ellipse(Point center, double radiusX, double radiusY) | ||||||
| 	: m_pD2dEllipse(nullptr) | 	: m_pD2dEllipse(nullptr) | ||||||
| { | { | ||||||
| 	this->_setEllipse(center, radiusX, radiusY); | 	this->_setEllipse(center, radiusX, radiusY); | ||||||
|  | @ -30,17 +30,17 @@ e2d::Ellipse::~Ellipse() | ||||||
| 	SafeReleaseInterface(&m_pD2dEllipse); | 	SafeReleaseInterface(&m_pD2dEllipse); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Ellipse::_setEllipse(Point center, float radiusX, float radiusY) | void e2d::Ellipse::_setEllipse(Point center, double radiusX, double radiusY) | ||||||
| { | { | ||||||
| 	SafeReleaseInterface(&m_pD2dEllipse); | 	SafeReleaseInterface(&m_pD2dEllipse); | ||||||
| 
 | 
 | ||||||
| 	Renderer::getID2D1Factory()->CreateEllipseGeometry( | 	Renderer::getID2D1Factory()->CreateEllipseGeometry( | ||||||
| 		D2D1::Ellipse( | 		D2D1::Ellipse( | ||||||
| 			D2D1::Point2F( | 			D2D1::Point2F( | ||||||
| 				center.x, | 				static_cast<float>(center.x), | ||||||
| 				center.y), | 				static_cast<float>(center.y)), | ||||||
| 			radiusX, | 			static_cast<float>(radiusX), | ||||||
| 			radiusY), | 			static_cast<float>(radiusY)), | ||||||
| 		&m_pD2dEllipse | 		&m_pD2dEllipse | ||||||
| 	); | 	); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ e2d::Rect::Rect() | ||||||
| { | { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| e2d::Rect::Rect(float x, float y, float width, float height) | e2d::Rect::Rect(double x, double y, double width, double height) | ||||||
| 	: m_pD2dRectangle(nullptr) | 	: m_pD2dRectangle(nullptr) | ||||||
| { | { | ||||||
| 	this->_setRect(x, y, x + width, y + height); | 	this->_setRect(x, y, x + width, y + height); | ||||||
|  | @ -28,12 +28,16 @@ e2d::Rect::~Rect() | ||||||
| 	SafeReleaseInterface(&m_pD2dRectangle); | 	SafeReleaseInterface(&m_pD2dRectangle); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Rect::_setRect(float left, float top, float right, float bottom) | void e2d::Rect::_setRect(double left, double top, double right, double bottom) | ||||||
| { | { | ||||||
| 	SafeReleaseInterface(&m_pD2dRectangle); | 	SafeReleaseInterface(&m_pD2dRectangle); | ||||||
| 
 | 
 | ||||||
| 	Renderer::getID2D1Factory()->CreateRectangleGeometry( | 	Renderer::getID2D1Factory()->CreateRectangleGeometry( | ||||||
| 		D2D1::RectF(left, top, right, bottom), | 		D2D1::RectF( | ||||||
|  | 			static_cast<float>(left),  | ||||||
|  | 			static_cast<float>(top),  | ||||||
|  | 			static_cast<float>(right),  | ||||||
|  | 			static_cast<float>(bottom)), | ||||||
| 		&m_pD2dRectangle | 		&m_pD2dRectangle | ||||||
| 	); | 	); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -59,9 +59,9 @@ void e2d::Shape::setColor(UINT32 color) | ||||||
| 	m_nColor = color; | 	m_nColor = color; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Shape::setOpacity(float opacity) | void e2d::Shape::setOpacity(double opacity) | ||||||
| { | { | ||||||
| 	m_fOpacity = min(max(opacity, 0), 1); | 	m_fOpacity = min(max(static_cast<float>(opacity), 0), 1); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Shape::_render() | void e2d::Shape::_render() | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ void e2d::Data::saveInt(const String & key, int value) | ||||||
| 	::WritePrivateProfileString(L"Default", key, String::toString(value), File::getDefaultSavePath()); | 	::WritePrivateProfileString(L"Default", key, String::toString(value), File::getDefaultSavePath()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Data::saveFloat(const String & key, float value) | void e2d::Data::saveDouble(const String & key, double value) | ||||||
| { | { | ||||||
| 	::WritePrivateProfileString(L"Default", key, String::toString(value), File::getDefaultSavePath()); | 	::WritePrivateProfileString(L"Default", key, String::toString(value), File::getDefaultSavePath()); | ||||||
| } | } | ||||||
|  | @ -21,7 +21,7 @@ int e2d::Data::getInt(const String & key, int default) | ||||||
| 	return ::GetPrivateProfileInt(L"Default", key, default, File::getDefaultSavePath()); | 	return ::GetPrivateProfileInt(L"Default", key, default, File::getDefaultSavePath()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float e2d::Data::getFloat(const String & key, float default) | double e2d::Data::getDouble(const String & key, double default) | ||||||
| { | { | ||||||
| 	wchar_t temp[32] = { 0 }; | 	wchar_t temp[32] = { 0 }; | ||||||
| 	::GetPrivateProfileString(L"Default", key, String::toString(default), temp, 31, File::getDefaultSavePath()); | 	::GetPrivateProfileString(L"Default", key, String::toString(default), temp, 31, File::getDefaultSavePath()); | ||||||
|  |  | ||||||
|  | @ -208,41 +208,41 @@ bool Music::isPlaying() | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float Music::getVolume() const | double Music::getVolume() const | ||||||
| { | { | ||||||
| 	float fVolume = 0.0f; | 	float fVolume = 0.0f; | ||||||
| 	if (m_pSourceVoice) | 	if (m_pSourceVoice) | ||||||
| 	{ | 	{ | ||||||
| 		m_pSourceVoice->GetVolume(&fVolume); | 		m_pSourceVoice->GetVolume(&fVolume); | ||||||
| 	} | 	} | ||||||
| 	return fVolume; | 	return static_cast<double>(fVolume); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| bool Music::setVolume(float fVolume) | bool Music::setVolume(double fVolume) | ||||||
| { | { | ||||||
| 	if (m_pSourceVoice) | 	if (m_pSourceVoice) | ||||||
| 	{ | 	{ | ||||||
| 		return SUCCEEDED(m_pSourceVoice->SetVolume(min(max(fVolume, -224), 224))); | 		return SUCCEEDED(m_pSourceVoice->SetVolume(min(max(static_cast<float>(fVolume), -224), 224))); | ||||||
| 	} | 	} | ||||||
| 	return false; | 	return false; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| float Music::getFrequencyRatio() const | double Music::getFrequencyRatio() const | ||||||
| { | { | ||||||
| 	float fFrequencyRatio = 0.0f; | 	float fFrequencyRatio = 0.0f; | ||||||
| 	if (m_pSourceVoice) | 	if (m_pSourceVoice) | ||||||
| 	{ | 	{ | ||||||
| 		m_pSourceVoice->GetFrequencyRatio(&fFrequencyRatio); | 		m_pSourceVoice->GetFrequencyRatio(&fFrequencyRatio); | ||||||
| 	} | 	} | ||||||
| 	return fFrequencyRatio; | 	return static_cast<double>(fFrequencyRatio); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| bool Music::setFrequencyRatio(float fFrequencyRatio) | bool Music::setFrequencyRatio(double fFrequencyRatio) | ||||||
| { | { | ||||||
| 	if (m_pSourceVoice) | 	if (m_pSourceVoice) | ||||||
| 	{ | 	{ | ||||||
| 		fFrequencyRatio = min(max(fFrequencyRatio, XAUDIO2_MIN_FREQ_RATIO), XAUDIO2_MAX_FREQ_RATIO); | 		fFrequencyRatio = min(max(fFrequencyRatio, XAUDIO2_MIN_FREQ_RATIO), XAUDIO2_MAX_FREQ_RATIO); | ||||||
| 		return SUCCEEDED(m_pSourceVoice->SetFrequencyRatio(fFrequencyRatio)); | 		return SUCCEEDED(m_pSourceVoice->SetFrequencyRatio(static_cast<float>(fFrequencyRatio))); | ||||||
| 	} | 	} | ||||||
| 	return false; | 	return false; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -14,7 +14,7 @@ e2d::Timer::Timer() | ||||||
| { | { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| e2d::Timer::Timer(const TimerCallback & callback, float interval /* = 0 */, int repeatTimes /* = -1 */, bool atOnce /* = false */) | e2d::Timer::Timer(const TimerCallback & callback, double interval /* = 0 */, int repeatTimes /* = -1 */, bool atOnce /* = false */) | ||||||
| 	: m_bRunning(false) | 	: m_bRunning(false) | ||||||
| 	, m_nRunTimes(0) | 	, m_nRunTimes(0) | ||||||
| 	, m_pParentNode(nullptr) | 	, m_pParentNode(nullptr) | ||||||
|  | @ -30,7 +30,7 @@ e2d::Timer::Timer(const TimerCallback & callback, float interval /* = 0 */, int | ||||||
| 	m_bAtOnce = atOnce; | 	m_bAtOnce = atOnce; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| e2d::Timer::Timer(const String & name, const TimerCallback & callback, float interval /* = 0 */, int repeatTimes /* = -1 */, bool atOnce /* = false */) | e2d::Timer::Timer(const String & name, const TimerCallback & callback, double interval /* = 0 */, int repeatTimes /* = -1 */, bool atOnce /* = false */) | ||||||
| 	: m_bRunning(false) | 	: m_bRunning(false) | ||||||
| 	, m_nRunTimes(0) | 	, m_nRunTimes(0) | ||||||
| 	, m_pParentNode(nullptr) | 	, m_pParentNode(nullptr) | ||||||
|  | @ -78,7 +78,7 @@ void e2d::Timer::setName(const String & name) | ||||||
| 	m_sName = name; | 	m_sName = name; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void e2d::Timer::setInterval(float interval) | void e2d::Timer::setInterval(double interval) | ||||||
| { | { | ||||||
| 	m_fInterval = max(interval, 0); | 	m_fInterval = max(interval, 0); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| #include "..\ebase.h" | #include "..\ebase.h" | ||||||
| #include "..\etransitions.h" | #include "..\etransitions.h" | ||||||
| 
 | 
 | ||||||
| e2d::Transition::Transition(float duration) | e2d::Transition::Transition(double duration) | ||||||
| 	: m_bEnd(false) | 	: m_bEnd(false) | ||||||
| 	, m_fLast(0) | 	, m_fLast(0) | ||||||
| 	, m_fRateOfProgress(0) | 	, m_fRateOfProgress(0) | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| #include "..\etransitions.h" | #include "..\etransitions.h" | ||||||
| #include "..\enodes.h" | #include "..\enodes.h" | ||||||
| 
 | 
 | ||||||
| e2d::TransitionEmerge::TransitionEmerge(float duration) | e2d::TransitionEmerge::TransitionEmerge(double duration) | ||||||
| 	: Transition(duration) | 	: Transition(duration) | ||||||
| { | { | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| #include "..\etransitions.h" | #include "..\etransitions.h" | ||||||
| #include "..\enodes.h" | #include "..\enodes.h" | ||||||
| 
 | 
 | ||||||
| e2d::TransitionFade::TransitionFade(float fadeOutDuration, float fadeInDuration) | e2d::TransitionFade::TransitionFade(double fadeOutDuration, double fadeInDuration) | ||||||
| 	: Transition(0) | 	: Transition(0) | ||||||
| 	, m_fFadeOutDuration(fadeOutDuration) | 	, m_fFadeOutDuration(fadeOutDuration) | ||||||
| 	, m_fFadeInDuration(fadeInDuration) | 	, m_fFadeInDuration(fadeInDuration) | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| #include "..\etransitions.h" | #include "..\etransitions.h" | ||||||
| #include "..\enodes.h" | #include "..\enodes.h" | ||||||
| 
 | 
 | ||||||
| e2d::TransitionMove::TransitionMove(float duration, MOVE_DIRECT direct) | e2d::TransitionMove::TransitionMove(double duration, MOVE_DIRECT direct) | ||||||
| 	: Transition(duration) | 	: Transition(duration) | ||||||
| 	, m_Direct(direct) | 	, m_Direct(direct) | ||||||
| { | { | ||||||
|  |  | ||||||
|  | @ -74,7 +74,7 @@ protected: | ||||||
| 	bool	m_bInit; | 	bool	m_bInit; | ||||||
| 	Node *	m_pTarget; | 	Node *	m_pTarget; | ||||||
| 	Scene *m_pParentScene; | 	Scene *m_pParentScene; | ||||||
| 	float	m_fLast; | 	double	m_fLast; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -84,7 +84,7 @@ class ActionGradual : | ||||||
| public: | public: | ||||||
| 	// 创建时长动画
 | 	// 创建时长动画
 | ||||||
| 	ActionGradual( | 	ActionGradual( | ||||||
| 		float duration | 		double duration | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
|  | @ -95,8 +95,8 @@ protected: | ||||||
| 	virtual void _update() override; | 	virtual void _update() override; | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
| 	float m_fDuration; | 	double m_fDuration; | ||||||
| 	float m_fRateOfProgress; | 	double m_fRateOfProgress; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -106,7 +106,7 @@ class ActionMoveBy : | ||||||
| public: | public: | ||||||
| 	// 创建相对位移动画
 | 	// 创建相对位移动画
 | ||||||
| 	ActionMoveBy( | 	ActionMoveBy( | ||||||
| 		float duration, /* 动画持续时长 */ | 		double duration, /* 动画持续时长 */ | ||||||
| 		Vector vector		/* 位移向量 */ | 		Vector vector		/* 位移向量 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
|  | @ -135,7 +135,7 @@ class ActionMoveTo : | ||||||
| public: | public: | ||||||
| 	// 创建位移动画
 | 	// 创建位移动画
 | ||||||
| 	ActionMoveTo( | 	ActionMoveTo( | ||||||
| 		float duration, /* 动画持续时长 */ | 		double duration, /* 动画持续时长 */ | ||||||
| 		Point pos		/* 位移至目标点的坐标 */ | 		Point pos		/* 位移至目标点的坐标 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
|  | @ -157,15 +157,15 @@ class ActionScaleBy : | ||||||
| public: | public: | ||||||
| 	// 创建相对缩放动画
 | 	// 创建相对缩放动画
 | ||||||
| 	ActionScaleBy( | 	ActionScaleBy( | ||||||
| 		float duration, /* 动画持续时长 */ | 		double duration, /* 动画持续时长 */ | ||||||
| 		float scale		/* 缩放比例变化 */ | 		double scale		/* 缩放比例变化 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 创建相对缩放动画
 | 	// 创建相对缩放动画
 | ||||||
| 	ActionScaleBy( | 	ActionScaleBy( | ||||||
| 		float duration, /* 动画持续时长 */ | 		double duration, /* 动画持续时长 */ | ||||||
| 		float scaleX,	/* 横向缩放比例变化 */ | 		double scaleX,	/* 横向缩放比例变化 */ | ||||||
| 		float scaleY	/* 纵向缩放比例变化 */ | 		double scaleY	/* 纵向缩放比例变化 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 获取该动画的拷贝对象
 | 	// 获取该动画的拷贝对象
 | ||||||
|  | @ -182,10 +182,10 @@ protected: | ||||||
| 	virtual void _update() override; | 	virtual void _update() override; | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
| 	float	m_nBeginScaleX; | 	double	m_nBeginScaleX; | ||||||
| 	float	m_nBeginScaleY; | 	double	m_nBeginScaleY; | ||||||
| 	float	m_nVariationX; | 	double	m_nVariationX; | ||||||
| 	float	m_nVariationY; | 	double	m_nVariationY; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -195,15 +195,15 @@ class ActionScaleTo : | ||||||
| public: | public: | ||||||
| 	// 创建缩放动画
 | 	// 创建缩放动画
 | ||||||
| 	ActionScaleTo( | 	ActionScaleTo( | ||||||
| 		float duration, /* 动画持续时长 */ | 		double duration, /* 动画持续时长 */ | ||||||
| 		float scale		/* 缩放至目标比例 */ | 		double scale		/* 缩放至目标比例 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 创建缩放动画
 | 	// 创建缩放动画
 | ||||||
| 	ActionScaleTo( | 	ActionScaleTo( | ||||||
| 		float duration, /* 动画持续时长 */ | 		double duration, /* 动画持续时长 */ | ||||||
| 		float scaleX,	/* 横向缩放至目标比例 */ | 		double scaleX,	/* 横向缩放至目标比例 */ | ||||||
| 		float scaleY	/* 纵向缩放至目标比例 */ | 		double scaleY	/* 纵向缩放至目标比例 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 获取该动画的拷贝对象
 | 	// 获取该动画的拷贝对象
 | ||||||
|  | @ -214,8 +214,8 @@ protected: | ||||||
| 	virtual void _init() override; | 	virtual void _init() override; | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
| 	float	m_nEndScaleX; | 	double	m_nEndScaleX; | ||||||
| 	float	m_nEndScaleY; | 	double	m_nEndScaleY; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -225,8 +225,8 @@ class ActionOpacityBy : | ||||||
| public: | public: | ||||||
| 	// 创建透明度相对渐变动画
 | 	// 创建透明度相对渐变动画
 | ||||||
| 	ActionOpacityBy( | 	ActionOpacityBy( | ||||||
| 		float duration, /* 动画持续时长 */ | 		double duration, /* 动画持续时长 */ | ||||||
| 		float opacity	/* 透明度相对变化值 */ | 		double opacity	/* 透明度相对变化值 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 获取该动画的拷贝对象
 | 	// 获取该动画的拷贝对象
 | ||||||
|  | @ -243,8 +243,8 @@ protected: | ||||||
| 	virtual void _update() override; | 	virtual void _update() override; | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
| 	float m_nBeginVal; | 	double m_nBeginVal; | ||||||
| 	float m_nVariation; | 	double m_nVariation; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -254,8 +254,8 @@ class ActionOpacityTo : | ||||||
| public: | public: | ||||||
| 	// 创建透明度渐变动画
 | 	// 创建透明度渐变动画
 | ||||||
| 	ActionOpacityTo( | 	ActionOpacityTo( | ||||||
| 		float duration,	/* 动画持续时长 */ | 		double duration,	/* 动画持续时长 */ | ||||||
| 		float opacity	/* 透明度渐变至目标值 */ | 		double opacity	/* 透明度渐变至目标值 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 获取该动画的拷贝对象
 | 	// 获取该动画的拷贝对象
 | ||||||
|  | @ -266,7 +266,7 @@ protected: | ||||||
| 	virtual void _init() override; | 	virtual void _init() override; | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
| 	float m_nEndVal; | 	double m_nEndVal; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -276,7 +276,7 @@ class ActionFadeIn : | ||||||
| public: | public: | ||||||
| 	// 创建淡入动画
 | 	// 创建淡入动画
 | ||||||
| 	ActionFadeIn( | 	ActionFadeIn( | ||||||
| 		float duration	/* 动画持续时长 */ | 		double duration	/* 动画持续时长 */ | ||||||
| 	) : ActionOpacityTo(duration, 1) {} | 	) : ActionOpacityTo(duration, 1) {} | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | @ -287,7 +287,7 @@ class ActionFadeOut : | ||||||
| public: | public: | ||||||
| 	// 创建淡出动画
 | 	// 创建淡出动画
 | ||||||
| 	ActionFadeOut( | 	ActionFadeOut( | ||||||
| 		float duration	/* 动画持续时长 */ | 		double duration	/* 动画持续时长 */ | ||||||
| 	) : ActionOpacityTo(duration, 0) {} | 	) : ActionOpacityTo(duration, 0) {} | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | @ -298,8 +298,8 @@ class ActionRotateBy : | ||||||
| public: | public: | ||||||
| 	// 创建相对旋转动画
 | 	// 创建相对旋转动画
 | ||||||
| 	ActionRotateBy( | 	ActionRotateBy( | ||||||
| 		float duration,	/* 动画持续时长 */ | 		double duration,	/* 动画持续时长 */ | ||||||
| 		float rotation	/* 旋转角度变化值 */ | 		double rotation	/* 旋转角度变化值 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 获取该动画的拷贝对象
 | 	// 获取该动画的拷贝对象
 | ||||||
|  | @ -316,8 +316,8 @@ protected: | ||||||
| 	virtual void _update() override; | 	virtual void _update() override; | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
| 	float m_nBeginVal; | 	double m_nBeginVal; | ||||||
| 	float m_nVariation; | 	double m_nVariation; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -327,8 +327,8 @@ class ActionRotateTo : | ||||||
| public: | public: | ||||||
| 	// 创建旋转动画
 | 	// 创建旋转动画
 | ||||||
| 	ActionRotateTo( | 	ActionRotateTo( | ||||||
| 		float duration,	/* 动画持续时长 */ | 		double duration,	/* 动画持续时长 */ | ||||||
| 		float rotation	/* 旋转角度至目标值 */ | 		double rotation	/* 旋转角度至目标值 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 获取该动画的拷贝对象
 | 	// 获取该动画的拷贝对象
 | ||||||
|  | @ -339,7 +339,7 @@ protected: | ||||||
| 	virtual void _init() override; | 	virtual void _init() override; | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
| 	float m_nEndVal; | 	double m_nEndVal; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -438,7 +438,7 @@ class ActionDelay : | ||||||
| public: | public: | ||||||
| 	// 创建延时动作
 | 	// 创建延时动作
 | ||||||
| 	ActionDelay( | 	ActionDelay( | ||||||
| 		float duration	/* 延迟时长(秒) */ | 		double duration	/* 延迟时长(秒) */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 获取该动作的拷贝对象
 | 	// 获取该动作的拷贝对象
 | ||||||
|  | @ -452,7 +452,7 @@ protected: | ||||||
| 	virtual void _update() override; | 	virtual void _update() override; | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
| 	float m_fDelayTime; | 	double m_fDelayTime; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -500,7 +500,7 @@ public: | ||||||
| 
 | 
 | ||||||
| 	// 创建特定帧间隔的帧动画
 | 	// 创建特定帧间隔的帧动画
 | ||||||
| 	Animation( | 	Animation( | ||||||
| 		float interval	/* 帧间隔(秒) */ | 		double interval	/* 帧间隔(秒) */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	virtual ~Animation(); | 	virtual ~Animation(); | ||||||
|  | @ -512,7 +512,7 @@ public: | ||||||
| 
 | 
 | ||||||
| 	// 设置每一帧的时间间隔
 | 	// 设置每一帧的时间间隔
 | ||||||
| 	void setInterval( | 	void setInterval( | ||||||
| 		float interval	/* 帧间隔(秒) */ | 		double interval	/* 帧间隔(秒) */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 获取该动画的拷贝对象
 | 	// 获取该动画的拷贝对象
 | ||||||
|  | @ -532,7 +532,7 @@ protected: | ||||||
| 	virtual void _update() override; | 	virtual void _update() override; | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
| 	float	m_fInterval; | 	double	m_fInterval; | ||||||
| 	UINT	m_nFrameIndex; | 	UINT	m_nFrameIndex; | ||||||
| 	std::vector<Image*> m_vFrames; | 	std::vector<Image*> m_vFrames; | ||||||
| }; | }; | ||||||
|  |  | ||||||
							
								
								
									
										16
									
								
								core/ebase.h
								
								
								
								
							
							
						
						
									
										16
									
								
								core/ebase.h
								
								
								
								
							|  | @ -54,10 +54,10 @@ public: | ||||||
| 	static String getTitle(); | 	static String getTitle(); | ||||||
| 
 | 
 | ||||||
| 	// 資函完笥錐業
 | 	// 資函完笥錐業
 | ||||||
| 	static float getWidth(); | 	static double getWidth(); | ||||||
| 
 | 
 | ||||||
| 	// 資函完笥互業
 | 	// 資函完笥互業
 | ||||||
| 	static float getHeight(); | 	static double getHeight(); | ||||||
| 
 | 
 | ||||||
| 	// 資函完笥寄弌
 | 	// 資函完笥寄弌
 | ||||||
| 	static Size getSize(); | 	static Size getSize(); | ||||||
|  | @ -116,7 +116,7 @@ public: | ||||||
| 	static int getDeltaTime(); | 	static int getDeltaTime(); | ||||||
| 
 | 
 | ||||||
| 	// 資函嗄老蝕兵扮海<E689AE>昼<EFBFBD>
 | 	// 資函嗄老蝕兵扮海<E689AE>昼<EFBFBD>
 | ||||||
| 	static float getTotalTime(); | 	static double getTotalTime(); | ||||||
| 
 | 
 | ||||||
| private: | private: | ||||||
| 	// 兜兵晒柴扮荷恬
 | 	// 兜兵晒柴扮荷恬
 | ||||||
|  | @ -188,22 +188,22 @@ public: | ||||||
| 	static bool isMouseMButtonRelease(); | 	static bool isMouseMButtonRelease(); | ||||||
| 
 | 
 | ||||||
| 	// 資誼報炎X已恫炎峙
 | 	// 資誼報炎X已恫炎峙
 | ||||||
| 	static float getMouseX(); | 	static double getMouseX(); | ||||||
| 
 | 
 | ||||||
| 	// 資誼報炎Y已恫炎峙
 | 	// 資誼報炎Y已恫炎峙
 | ||||||
| 	static float getMouseY(); | 	static double getMouseY(); | ||||||
| 
 | 
 | ||||||
| 	// 資誼報炎恫炎峙
 | 	// 資誼報炎恫炎峙
 | ||||||
| 	static Point getMousePos(); | 	static Point getMousePos(); | ||||||
| 
 | 
 | ||||||
| 	// 資誼報炎X已恫炎奐楚
 | 	// 資誼報炎X已恫炎奐楚
 | ||||||
| 	static float getMouseDeltaX(); | 	static double getMouseDeltaX(); | ||||||
| 
 | 
 | ||||||
| 	// 資誼報炎Y已恫炎奐楚
 | 	// 資誼報炎Y已恫炎奐楚
 | ||||||
| 	static float getMouseDeltaY(); | 	static double getMouseDeltaY(); | ||||||
| 
 | 
 | ||||||
| 	// 資誼報炎Z已<5A>報炎獄態<E78D84>恫炎奐楚
 | 	// 資誼報炎Z已<5A>報炎獄態<E78D84>恫炎奐楚
 | ||||||
| 	static float getMouseDeltaZ(); | 	static double getMouseDeltaZ(); | ||||||
| 
 | 
 | ||||||
| private: | private: | ||||||
| 	// 兜兵晒 DirectInput 參式囚徒報炎譜姥
 | 	// 兜兵晒 DirectInput 參式囚徒報炎譜姥
 | ||||||
|  |  | ||||||
|  | @ -11,8 +11,8 @@ namespace e2d | ||||||
| // 表示坐标的结构体
 | // 表示坐标的结构体
 | ||||||
| struct Point | struct Point | ||||||
| { | { | ||||||
| 	float x; | 	double x; | ||||||
| 	float y; | 	double y; | ||||||
| 
 | 
 | ||||||
| 	Point() | 	Point() | ||||||
| 	{ | 	{ | ||||||
|  | @ -20,7 +20,7 @@ struct Point | ||||||
| 		y = 0; | 		y = 0; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	Point(float x, float y) | 	Point(double x, double y) | ||||||
| 	{ | 	{ | ||||||
| 		this->x = x; | 		this->x = x; | ||||||
| 		this->y = y; | 		this->y = y; | ||||||
|  | @ -36,12 +36,12 @@ struct Point | ||||||
| 		return Point(x - p.x, y - p.y); | 		return Point(x - p.x, y - p.y); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	Point operator * (float const & value) | 	Point operator * (double const & value) | ||||||
| 	{ | 	{ | ||||||
| 		return Point(x * value, y * value); | 		return Point(x * value, y * value); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	Point operator / (float const & value) | 	Point operator / (double const & value) | ||||||
| 	{ | 	{ | ||||||
| 		return Point(x / value, y / value); | 		return Point(x / value, y / value); | ||||||
| 	} | 	} | ||||||
|  | @ -50,8 +50,8 @@ struct Point | ||||||
| // 表示大小的结构体
 | // 表示大小的结构体
 | ||||||
| struct Size | struct Size | ||||||
| { | { | ||||||
| 	float width; | 	double width; | ||||||
| 	float height; | 	double height; | ||||||
| 
 | 
 | ||||||
| 	Size() | 	Size() | ||||||
| 	{ | 	{ | ||||||
|  | @ -59,7 +59,7 @@ struct Size | ||||||
| 		height = 0; | 		height = 0; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	Size(float width, float height) | 	Size(double width, double height) | ||||||
| 	{ | 	{ | ||||||
| 		this->width = width; | 		this->width = width; | ||||||
| 		this->height = height; | 		this->height = height; | ||||||
|  | @ -75,12 +75,12 @@ struct Size | ||||||
| 		return Size(width - size.width, height - size.height); | 		return Size(width - size.width, height - size.height); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	Size operator * (float const & value) | 	Size operator * (double const & value) | ||||||
| 	{ | 	{ | ||||||
| 		return Size(width * value, height * value); | 		return Size(width * value, height * value); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	Size operator / (float const & value) | 	Size operator / (double const & value) | ||||||
| 	{ | 	{ | ||||||
| 		return Size(width / value, height / value); | 		return Size(width / value, height / value); | ||||||
| 	} | 	} | ||||||
|  | @ -428,7 +428,7 @@ public: | ||||||
| 
 | 
 | ||||||
| 	Font( | 	Font( | ||||||
| 		String fontFamily, | 		String fontFamily, | ||||||
| 		float fontSize = 22, | 		double fontSize = 22, | ||||||
| 		UINT32 color = Color::WHITE, | 		UINT32 color = Color::WHITE, | ||||||
| 		UINT32 fontWeight = FontWeight::REGULAR, | 		UINT32 fontWeight = FontWeight::REGULAR, | ||||||
| 		bool italic = false | 		bool italic = false | ||||||
|  | @ -437,7 +437,7 @@ public: | ||||||
| 	virtual ~Font(); | 	virtual ~Font(); | ||||||
| 
 | 
 | ||||||
| 	// 获取当前字号
 | 	// 获取当前字号
 | ||||||
| 	float getFontSize() const; | 	double getFontSize() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取当前字体粗细值
 | 	// 获取当前字体粗细值
 | ||||||
| 	UINT32 getFontWeight() const; | 	UINT32 getFontWeight() const; | ||||||
|  | @ -455,7 +455,7 @@ public: | ||||||
| 
 | 
 | ||||||
| 	// 设置字号
 | 	// 设置字号
 | ||||||
| 	void setSize( | 	void setSize( | ||||||
| 		float fontSize | 		double fontSize | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 设置字体粗细值
 | 	// 设置字体粗细值
 | ||||||
|  | @ -507,20 +507,20 @@ public: | ||||||
| 	// 从本地文件中读取资源
 | 	// 从本地文件中读取资源
 | ||||||
| 	Image( | 	Image( | ||||||
| 		LPCTSTR strFilePath,/* 图片文件路径 */ | 		LPCTSTR strFilePath,/* 图片文件路径 */ | ||||||
| 		float nClipX,		/* 裁剪位置 X 坐标 */ | 		double nClipX,		/* 裁剪位置 X 坐标 */ | ||||||
| 		float nClipY,		/* 裁剪位置 Y 坐标 */ | 		double nClipY,		/* 裁剪位置 Y 坐标 */ | ||||||
| 		float nClipWidth,	/* 裁剪宽度 */ | 		double nClipWidth,	/* 裁剪宽度 */ | ||||||
| 		float nClipHeight	/* 裁剪高度 */ | 		double nClipHeight	/* 裁剪高度 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	virtual ~Image(); | 	virtual ~Image(); | ||||||
| 
 | 
 | ||||||
| 	// 裁剪图片
 | 	// 裁剪图片
 | ||||||
| 	void clip( | 	void clip( | ||||||
| 		float nClipX,		/* 裁剪位置 X 坐标 */ | 		double nClipX,		/* 裁剪位置 X 坐标 */ | ||||||
| 		float nClipY,		/* 裁剪位置 Y 坐标 */ | 		double nClipY,		/* 裁剪位置 Y 坐标 */ | ||||||
| 		float nClipWidth,	/* 裁剪宽度 */ | 		double nClipWidth,	/* 裁剪宽度 */ | ||||||
| 		float nClipHeight	/* 裁剪高度 */ | 		double nClipHeight	/* 裁剪高度 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 从本地文件中读取图片
 | 	// 从本地文件中读取图片
 | ||||||
|  | @ -531,35 +531,35 @@ public: | ||||||
| 	// 从本地文件中读取图片并裁剪
 | 	// 从本地文件中读取图片并裁剪
 | ||||||
| 	void loadFrom( | 	void loadFrom( | ||||||
| 		const String & strFilePath,/* 图片文件路径 */ | 		const String & strFilePath,/* 图片文件路径 */ | ||||||
| 		float nClipX,				/* 裁剪位置 X 坐标 */ | 		double nClipX,				/* 裁剪位置 X 坐标 */ | ||||||
| 		float nClipY,				/* 裁剪位置 Y 坐标 */ | 		double nClipY,				/* 裁剪位置 Y 坐标 */ | ||||||
| 		float nClipWidth,			/* 裁剪宽度 */ | 		double nClipWidth,			/* 裁剪宽度 */ | ||||||
| 		float nClipHeight			/* 裁剪高度 */ | 		double nClipHeight			/* 裁剪高度 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 获取宽度
 | 	// 获取宽度
 | ||||||
| 	virtual float getWidth() const; | 	virtual double getWidth() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取高度
 | 	// 获取高度
 | ||||||
| 	virtual float getHeight() const; | 	virtual double getHeight() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取大小
 | 	// 获取大小
 | ||||||
| 	virtual Size getSize() const; | 	virtual Size getSize() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取源图片宽度
 | 	// 获取源图片宽度
 | ||||||
| 	virtual float getSourceWidth() const; | 	virtual double getSourceWidth() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取源图片高度
 | 	// 获取源图片高度
 | ||||||
| 	virtual float getSourceHeight() const; | 	virtual double getSourceHeight() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取源图片大小
 | 	// 获取源图片大小
 | ||||||
| 	virtual Size getSourceSize() const; | 	virtual Size getSourceSize() const; | ||||||
| 	 | 	 | ||||||
| 	// 获取裁剪位置 X 坐标
 | 	// 获取裁剪位置 X 坐标
 | ||||||
| 	virtual float getClipX() const; | 	virtual double getClipX() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取裁剪位置 Y 坐标
 | 	// 获取裁剪位置 Y 坐标
 | ||||||
| 	virtual float getClipY() const; | 	virtual double getClipY() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取裁剪位置
 | 	// 获取裁剪位置
 | ||||||
| 	virtual Point getClipPos() const; | 	virtual Point getClipPos() const; | ||||||
|  | @ -576,10 +576,10 @@ public: | ||||||
| 	static void clearCache(); | 	static void clearCache(); | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
| 	float	m_fSourceClipX; | 	double	m_fSourceClipX; | ||||||
| 	float	m_fSourceClipY; | 	double	m_fSourceClipY; | ||||||
| 	float	m_fSourceClipWidth; | 	double	m_fSourceClipWidth; | ||||||
| 	float	m_fSourceClipHeight; | 	double	m_fSourceClipHeight; | ||||||
| 	ID2D1Bitmap * m_pBitmap; | 	ID2D1Bitmap * m_pBitmap; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										114
									
								
								core/enodes.h
								
								
								
								
							
							
						
						
									
										114
									
								
								core/enodes.h
								
								
								
								
							|  | @ -60,55 +60,55 @@ public: | ||||||
| 	virtual int getOrder() const; | 	virtual int getOrder() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点横坐标
 | 	// 获取节点横坐标
 | ||||||
| 	virtual float getPosX() const; | 	virtual double getPosX() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点纵坐标
 | 	// 获取节点纵坐标
 | ||||||
| 	virtual float getPosY() const; | 	virtual double getPosY() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点坐标
 | 	// 获取节点坐标
 | ||||||
| 	virtual Point getPos() const; | 	virtual Point getPos() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点宽度
 | 	// 获取节点宽度
 | ||||||
| 	virtual float getWidth() const; | 	virtual double getWidth() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点高度
 | 	// 获取节点高度
 | ||||||
| 	virtual float getHeight() const; | 	virtual double getHeight() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点宽度(不考虑缩放)
 | 	// 获取节点宽度(不考虑缩放)
 | ||||||
| 	virtual float getRealWidth() const; | 	virtual double getRealWidth() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点高度(不考虑缩放)
 | 	// 获取节点高度(不考虑缩放)
 | ||||||
| 	virtual float getRealHeight() const; | 	virtual double getRealHeight() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点大小(不考虑缩放)
 | 	// 获取节点大小(不考虑缩放)
 | ||||||
| 	virtual Size getRealSize() const; | 	virtual Size getRealSize() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点的中心点
 | 	// 获取节点的中心点
 | ||||||
| 	virtual float getPivotX() const; | 	virtual double getPivotX() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点的中心点
 | 	// 获取节点的中心点
 | ||||||
| 	virtual float getPivotY() const; | 	virtual double getPivotY() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点大小
 | 	// 获取节点大小
 | ||||||
| 	virtual Size getSize() const; | 	virtual Size getSize() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点横向缩放比例
 | 	// 获取节点横向缩放比例
 | ||||||
| 	virtual float getScaleX() const; | 	virtual double getScaleX() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点纵向缩放比例
 | 	// 获取节点纵向缩放比例
 | ||||||
| 	virtual float getScaleY() const; | 	virtual double getScaleY() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点横向倾斜角度
 | 	// 获取节点横向倾斜角度
 | ||||||
| 	virtual float getSkewX() const; | 	virtual double getSkewX() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点纵向倾斜角度
 | 	// 获取节点纵向倾斜角度
 | ||||||
| 	virtual float getSkewY() const; | 	virtual double getSkewY() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点旋转角度
 | 	// 获取节点旋转角度
 | ||||||
| 	virtual float getRotation() const; | 	virtual double getRotation() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点透明度
 | 	// 获取节点透明度
 | ||||||
| 	virtual float getOpacity() const; | 	virtual double getOpacity() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取节点形状
 | 	// 获取节点形状
 | ||||||
| 	virtual Shape * getShape() const; | 	virtual Shape * getShape() const; | ||||||
|  | @ -168,12 +168,12 @@ public: | ||||||
| 
 | 
 | ||||||
| 	// 设置节点横坐标
 | 	// 设置节点横坐标
 | ||||||
| 	virtual void setPosX( | 	virtual void setPosX( | ||||||
| 		float x | 		double x | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 设置节点纵坐标
 | 	// 设置节点纵坐标
 | ||||||
| 	virtual void setPosY( | 	virtual void setPosY( | ||||||
| 		float y | 		double y | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 设置节点坐标
 | 	// 设置节点坐标
 | ||||||
|  | @ -183,24 +183,24 @@ public: | ||||||
| 
 | 
 | ||||||
| 	// 设置节点坐标
 | 	// 设置节点坐标
 | ||||||
| 	virtual void setPos( | 	virtual void setPos( | ||||||
| 		float x, | 		double x, | ||||||
| 		float y | 		double y | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 移动节点
 | 	// 移动节点
 | ||||||
| 	virtual void movePosX( | 	virtual void movePosX( | ||||||
| 		float x | 		double x | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 移动节点
 | 	// 移动节点
 | ||||||
| 	virtual void movePosY( | 	virtual void movePosY( | ||||||
| 		float y | 		double y | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 移动节点
 | 	// 移动节点
 | ||||||
| 	virtual void movePos( | 	virtual void movePos( | ||||||
| 		float x, | 		double x, | ||||||
| 		float y | 		double y | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 移动节点
 | 	// 移动节点
 | ||||||
|  | @ -217,76 +217,76 @@ public: | ||||||
| 	// 设置横向缩放比例
 | 	// 设置横向缩放比例
 | ||||||
| 	// 默认为 1.0f
 | 	// 默认为 1.0f
 | ||||||
| 	virtual void setScaleX( | 	virtual void setScaleX( | ||||||
| 		float scaleX | 		double scaleX | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 设置纵向缩放比例
 | 	// 设置纵向缩放比例
 | ||||||
| 	// 默认为 1.0f
 | 	// 默认为 1.0f
 | ||||||
| 	virtual void setScaleY( | 	virtual void setScaleY( | ||||||
| 		float scaleY | 		double scaleY | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 设置缩放比例
 | 	// 设置缩放比例
 | ||||||
| 	// 默认为 (1.0f, 1.0f)
 | 	// 默认为 (1.0f, 1.0f)
 | ||||||
| 	virtual void setScale( | 	virtual void setScale( | ||||||
| 		float scaleX, | 		double scaleX, | ||||||
| 		float scaleY | 		double scaleY | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 设置缩放比例
 | 	// 设置缩放比例
 | ||||||
| 	// 默认为 1.0f
 | 	// 默认为 1.0f
 | ||||||
| 	virtual void setScale( | 	virtual void setScale( | ||||||
| 		float scale | 		double scale | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 设置横向倾斜角度
 | 	// 设置横向倾斜角度
 | ||||||
| 	// 默认为 0
 | 	// 默认为 0
 | ||||||
| 	virtual void setSkewX( | 	virtual void setSkewX( | ||||||
| 		float angleX | 		double angleX | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 设置纵向倾斜角度
 | 	// 设置纵向倾斜角度
 | ||||||
| 	// 默认为 0
 | 	// 默认为 0
 | ||||||
| 	virtual void setSkewY( | 	virtual void setSkewY( | ||||||
| 		float angleY | 		double angleY | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 设置倾斜角度
 | 	// 设置倾斜角度
 | ||||||
| 	// 默认为 (0, 0)
 | 	// 默认为 (0, 0)
 | ||||||
| 	virtual void setSkew( | 	virtual void setSkew( | ||||||
| 		float angleX, | 		double angleX, | ||||||
| 		float angleY | 		double angleY | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 设置旋转角度
 | 	// 设置旋转角度
 | ||||||
| 	// 默认为 0
 | 	// 默认为 0
 | ||||||
| 	virtual void setRotation( | 	virtual void setRotation( | ||||||
| 		float rotation | 		double rotation | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 设置透明度
 | 	// 设置透明度
 | ||||||
| 	// 默认为 1.0f, 范围 [0, 1]
 | 	// 默认为 1.0f, 范围 [0, 1]
 | ||||||
| 	virtual void setOpacity( | 	virtual void setOpacity( | ||||||
| 		float opacity | 		double opacity | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 设置中心点的横向位置
 | 	// 设置中心点的横向位置
 | ||||||
| 	// 默认为 0, 范围 [0, 1]
 | 	// 默认为 0, 范围 [0, 1]
 | ||||||
| 	virtual void setPivotX( | 	virtual void setPivotX( | ||||||
| 		float pivotX | 		double pivotX | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 设置中心点的纵向位置
 | 	// 设置中心点的纵向位置
 | ||||||
| 	// 默认为 0, 范围 [0, 1]
 | 	// 默认为 0, 范围 [0, 1]
 | ||||||
| 	virtual void setPivotY( | 	virtual void setPivotY( | ||||||
| 		float pivotY | 		double pivotY | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 设置中心点位置
 | 	// 设置中心点位置
 | ||||||
| 	// 默认为 (0, 0), 范围 [0, 1]
 | 	// 默认为 (0, 0), 范围 [0, 1]
 | ||||||
| 	virtual void setPivot( | 	virtual void setPivot( | ||||||
| 		float pivotX, | 		double pivotX, | ||||||
| 		float pivotY | 		double pivotY | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 设置节点形状
 | 	// 设置节点形状
 | ||||||
|  | @ -331,8 +331,8 @@ public: | ||||||
| 
 | 
 | ||||||
| 	// 修改节点的默认中心点位置
 | 	// 修改节点的默认中心点位置
 | ||||||
| 	static void setDefaultPiovt( | 	static void setDefaultPiovt( | ||||||
| 		float defaultPiovtX, | 		double defaultPiovtX, | ||||||
| 		float defaultPiovtY | 		double defaultPiovtY | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
|  | @ -367,8 +367,8 @@ protected: | ||||||
| 
 | 
 | ||||||
| 	// 修改节点大小
 | 	// 修改节点大小
 | ||||||
| 	void _setSize( | 	void _setSize( | ||||||
| 		float width, | 		double width, | ||||||
| 		float height | 		double height | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 更新节点二维矩阵
 | 	// 更新节点二维矩阵
 | ||||||
|  | @ -379,9 +379,11 @@ protected: | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
| 	String		m_sName; | 	String		m_sName; | ||||||
| 	size_t		m_nHashName; | 	unsigned	m_nHashName; | ||||||
| 	Point		m_Pos; | 	float		m_fPosX; | ||||||
| 	Size		m_Size; | 	float		m_fPosY; | ||||||
|  | 	float		m_fWidth; | ||||||
|  | 	float		m_fHeight; | ||||||
| 	float		m_fScaleX; | 	float		m_fScaleX; | ||||||
| 	float		m_fScaleY; | 	float		m_fScaleY; | ||||||
| 	float		m_fRotation; | 	float		m_fRotation; | ||||||
|  | @ -426,10 +428,10 @@ public: | ||||||
| 	// 从文件图片创建精灵并裁剪
 | 	// 从文件图片创建精灵并裁剪
 | ||||||
| 	Sprite( | 	Sprite( | ||||||
| 		LPCTSTR imageFileName, | 		LPCTSTR imageFileName, | ||||||
| 		float x, | 		double x, | ||||||
| 		float y, | 		double y, | ||||||
| 		float width, | 		double width, | ||||||
| 		float height | 		double height | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	virtual ~Sprite(); | 	virtual ~Sprite(); | ||||||
|  | @ -446,10 +448,10 @@ public: | ||||||
| 
 | 
 | ||||||
| 	// 裁剪图片
 | 	// 裁剪图片
 | ||||||
| 	virtual void clip( | 	virtual void clip( | ||||||
| 		float x, | 		double x, | ||||||
| 		float y, | 		double y, | ||||||
| 		float width, | 		double width, | ||||||
| 		float height | 		double height | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 获取 EImage 对象
 | 	// 获取 EImage 对象
 | ||||||
|  | @ -485,7 +487,7 @@ public: | ||||||
| 	Text( | 	Text( | ||||||
| 		const String & text, | 		const String & text, | ||||||
| 		String fontFamily, | 		String fontFamily, | ||||||
| 		float fontSize = 22, | 		double fontSize = 22, | ||||||
| 		UINT32 color = Color::WHITE, | 		UINT32 color = Color::WHITE, | ||||||
| 		UINT32 fontWeight = FontWeight::REGULAR, | 		UINT32 fontWeight = FontWeight::REGULAR, | ||||||
| 		bool italic = false | 		bool italic = false | ||||||
|  | @ -497,10 +499,10 @@ public: | ||||||
| 	String getText() const; | 	String getText() const; | ||||||
| 
 | 
 | ||||||
| 	// 获取文本宽度
 | 	// 获取文本宽度
 | ||||||
| 	virtual float getWidth() const override; | 	virtual double getWidth() const override; | ||||||
| 
 | 
 | ||||||
| 	// 获取文本宽度(不考虑缩放)
 | 	// 获取文本宽度(不考虑缩放)
 | ||||||
| 	virtual float getRealWidth() const override; | 	virtual double getRealWidth() const override; | ||||||
| 
 | 
 | ||||||
| 	// 获取字体
 | 	// 获取字体
 | ||||||
| 	Font * getFont() const; | 	Font * getFont() const; | ||||||
|  | @ -522,7 +524,7 @@ public: | ||||||
| 
 | 
 | ||||||
| 	// 设置文字换行宽度(WordWrapping 打开时生效)
 | 	// 设置文字换行宽度(WordWrapping 打开时生效)
 | ||||||
| 	void setWordWrappingWidth( | 	void setWordWrappingWidth( | ||||||
| 		float fWordWrapWidth | 		double fWordWrapWidth | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 渲染文字
 | 	// 渲染文字
 | ||||||
|  |  | ||||||
|  | @ -61,7 +61,7 @@ public: | ||||||
| 
 | 
 | ||||||
| 	// 设置绘制透明度
 | 	// 设置绘制透明度
 | ||||||
| 	void setOpacity( | 	void setOpacity( | ||||||
| 		float opacity | 		double opacity | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
|  | @ -95,10 +95,10 @@ public: | ||||||
| 
 | 
 | ||||||
| 	// 根据左上角坐标和宽高创建矩形
 | 	// 根据左上角坐标和宽高创建矩形
 | ||||||
| 	Rect( | 	Rect( | ||||||
| 		float x, | 		double x, | ||||||
| 		float y, | 		double y, | ||||||
| 		float width, | 		double width, | ||||||
| 		float height | 		double height | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 创建一个和节点位置大小相同的矩形
 | 	// 创建一个和节点位置大小相同的矩形
 | ||||||
|  | @ -110,10 +110,10 @@ public: | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
| 	void _setRect( | 	void _setRect( | ||||||
| 		float left, | 		double left, | ||||||
| 		float top, | 		double top, | ||||||
| 		float right, | 		double right, | ||||||
| 		float bottom | 		double bottom | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	virtual ID2D1RectangleGeometry * _getD2dGeometry() const override; | 	virtual ID2D1RectangleGeometry * _getD2dGeometry() const override; | ||||||
|  | @ -133,7 +133,7 @@ public: | ||||||
| 	// 根据圆心和半径创建圆形
 | 	// 根据圆心和半径创建圆形
 | ||||||
| 	Circle( | 	Circle( | ||||||
| 		Point center, | 		Point center, | ||||||
| 		float radius | 		double radius | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 创建一个和节点位置大小相同的圆形
 | 	// 创建一个和节点位置大小相同的圆形
 | ||||||
|  | @ -146,7 +146,7 @@ public: | ||||||
| protected: | protected: | ||||||
| 	void _setCircle( | 	void _setCircle( | ||||||
| 		Point center, | 		Point center, | ||||||
| 		float radius | 		double radius | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	virtual ID2D1EllipseGeometry * _getD2dGeometry() const override; | 	virtual ID2D1EllipseGeometry * _getD2dGeometry() const override; | ||||||
|  | @ -166,8 +166,8 @@ public: | ||||||
| 	// 根据圆心和半径创建椭圆
 | 	// 根据圆心和半径创建椭圆
 | ||||||
| 	Ellipse( | 	Ellipse( | ||||||
| 		Point center, | 		Point center, | ||||||
| 		float radiusX, | 		double radiusX, | ||||||
| 		float radiusY | 		double radiusY | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 创建一个和节点位置大小相同的椭圆
 | 	// 创建一个和节点位置大小相同的椭圆
 | ||||||
|  | @ -180,8 +180,8 @@ public: | ||||||
| protected: | protected: | ||||||
| 	void _setEllipse( | 	void _setEllipse( | ||||||
| 		Point center, | 		Point center, | ||||||
| 		float radiusX, | 		double radiusX, | ||||||
| 		float radiusY | 		double radiusY | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	virtual ID2D1EllipseGeometry * _getD2dGeometry() const override; | 	virtual ID2D1EllipseGeometry * _getD2dGeometry() const override; | ||||||
|  |  | ||||||
|  | @ -16,20 +16,12 @@ public: | ||||||
| 	template<typename T> | 	template<typename T> | ||||||
| 	static inline T range(T min, T max) { return e2d::Random::randomInt(min, max); } | 	static inline T range(T min, T max) { return e2d::Random::randomInt(min, max); } | ||||||
| 
 | 
 | ||||||
| 	// 取得浮点数范围内的一个随机数
 |  | ||||||
| 	static inline float range(float min, float max) { return e2d::Random::randomReal(min, max); } |  | ||||||
| 
 |  | ||||||
| 	// 取得浮点数范围内的一个随机数
 | 	// 取得浮点数范围内的一个随机数
 | ||||||
| 	static inline double range(double min, double max) { return e2d::Random::randomReal(min, max); } | 	static inline double range(double min, double max) { return e2d::Random::randomReal(min, max); } | ||||||
| 
 | 
 | ||||||
| 	// 取得浮点数范围内的一个随机数
 |  | ||||||
| 	static inline long double range(long double min, long double max) { return e2d::Random::randomReal(min, max); } |  | ||||||
| 
 |  | ||||||
| 	// 取得整型范围内的一个随机数
 | 	// 取得整型范围内的一个随机数
 | ||||||
| 	template<typename T> | 	template<typename T> | ||||||
| 	static T randomInt( | 	static T randomInt(T min, T max) | ||||||
| 		T min, |  | ||||||
| 		T max) |  | ||||||
| 	{ | 	{ | ||||||
| 		std::uniform_int_distribution<T> dist(min, max); | 		std::uniform_int_distribution<T> dist(min, max); | ||||||
| 		return dist(getEngine()); | 		return dist(getEngine()); | ||||||
|  | @ -37,9 +29,7 @@ public: | ||||||
| 
 | 
 | ||||||
| 	// 取得浮点数类型范围内的一个随机数
 | 	// 取得浮点数类型范围内的一个随机数
 | ||||||
| 	template<typename T> | 	template<typename T> | ||||||
| 	static T randomReal( | 	static T randomReal(T min, T max) | ||||||
| 		T min, |  | ||||||
| 		T max) |  | ||||||
| 	{ | 	{ | ||||||
| 		std::uniform_real_distribution<T> dist(min, max); | 		std::uniform_real_distribution<T> dist(min, max); | ||||||
| 		return dist(getEngine()); | 		return dist(getEngine()); | ||||||
|  | @ -61,7 +51,7 @@ public: | ||||||
| 
 | 
 | ||||||
| 	Timer( | 	Timer( | ||||||
| 		const TimerCallback &callback,	/* 定时器回调函数 */ | 		const TimerCallback &callback,	/* 定时器回调函数 */ | ||||||
| 		float interval = 0,				/* 时间间隔(秒) */ | 		double interval = 0,				/* 时间间隔(秒) */ | ||||||
| 		int repeatTimes = -1,			/* 定时器执行次数 */ | 		int repeatTimes = -1,			/* 定时器执行次数 */ | ||||||
| 		bool atOnce = false				/* 是否立即执行 */ | 		bool atOnce = false				/* 是否立即执行 */ | ||||||
| 	); | 	); | ||||||
|  | @ -69,7 +59,7 @@ public: | ||||||
| 	Timer( | 	Timer( | ||||||
| 		const String &name,			/* 定时器名称 */ | 		const String &name,			/* 定时器名称 */ | ||||||
| 		const TimerCallback &callback,	/* 定时器回调函数 */ | 		const TimerCallback &callback,	/* 定时器回调函数 */ | ||||||
| 		float interval = 0,				/* 时间间隔(秒) */ | 		double interval = 0,				/* 时间间隔(秒) */ | ||||||
| 		int repeatTimes = -1,			/* 定时器执行次数 */ | 		int repeatTimes = -1,			/* 定时器执行次数 */ | ||||||
| 		bool atOnce = false				/* 是否立即执行 */ | 		bool atOnce = false				/* 是否立即执行 */ | ||||||
| 	); | 	); | ||||||
|  | @ -96,7 +86,7 @@ public: | ||||||
| 
 | 
 | ||||||
| 	// 设置定时器执行间隔(秒)
 | 	// 设置定时器执行间隔(秒)
 | ||||||
| 	void setInterval( | 	void setInterval( | ||||||
| 		float interval | 		double interval | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 设置定时器回调函数
 | 	// 设置定时器回调函数
 | ||||||
|  | @ -127,8 +117,8 @@ protected: | ||||||
| 	bool			m_bAtOnce; | 	bool			m_bAtOnce; | ||||||
| 	int				m_nRunTimes; | 	int				m_nRunTimes; | ||||||
| 	int				m_nRepeatTimes; | 	int				m_nRepeatTimes; | ||||||
| 	float			m_fInterval; | 	double			m_fInterval; | ||||||
| 	float			m_fLast; | 	double			m_fLast; | ||||||
| 	Node *			m_pParentNode; | 	Node *			m_pParentNode; | ||||||
| 	TimerCallback	m_Callback; | 	TimerCallback	m_Callback; | ||||||
| }; | }; | ||||||
|  | @ -144,10 +134,10 @@ public: | ||||||
| 		int value | 		int value | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 保存 float 类型的值
 | 	// 保存 double 类型的值
 | ||||||
| 	static void saveFloat( | 	static void saveDouble( | ||||||
| 		const String & key, | 		const String & key, | ||||||
| 		float value | 		double value | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 保存 字符串 类型的值
 | 	// 保存 字符串 类型的值
 | ||||||
|  | @ -163,11 +153,11 @@ public: | ||||||
| 		int defaultValue | 		int defaultValue | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 获取 float 类型的值
 | 	// 获取 double 类型的值
 | ||||||
| 	// (若不存在则返回 defaultValue 参数的值)
 | 	// (若不存在则返回 defaultValue 参数的值)
 | ||||||
| 	static float getFloat( | 	static double getDouble( | ||||||
| 		const String & key, | 		const String & key, | ||||||
| 		float defaultValue | 		double defaultValue | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 获取 字符串 类型的值
 | 	// 获取 字符串 类型的值
 | ||||||
|  | @ -229,19 +219,19 @@ public: | ||||||
| 	bool isPlaying(); | 	bool isPlaying(); | ||||||
| 
 | 
 | ||||||
| 	// 获取音量
 | 	// 获取音量
 | ||||||
| 	float getVolume() const; | 	double getVolume() const; | ||||||
| 
 | 
 | ||||||
| 	// 设置音量
 | 	// 设置音量
 | ||||||
| 	bool setVolume( | 	bool setVolume( | ||||||
| 		float fVolume	/* 音量范围为 -224 ~ 224,其中 0 是静音,1 是正常音量 */ | 		double fVolume	/* 音量范围为 -224 ~ 224,其中 0 是静音,1 是正常音量 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 获取频率比
 | 	// 获取频率比
 | ||||||
| 	float getFrequencyRatio() const; | 	double getFrequencyRatio() const; | ||||||
| 
 | 
 | ||||||
| 	// 设置频率比
 | 	// 设置频率比
 | ||||||
| 	bool setFrequencyRatio( | 	bool setFrequencyRatio( | ||||||
| 		float fFrequencyRatio	/* 频率比范围为 1/1024.0f ~ 1024.0f,其中 1.0 为正常声调 */ | 		double fFrequencyRatio	/* 频率比范围为 1/1024.0f ~ 1024.0f,其中 1.0 为正常声调 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| 	// 获取 IXAudio2SourceVoice 对象
 | 	// 获取 IXAudio2SourceVoice 对象
 | ||||||
|  |  | ||||||
|  | @ -13,7 +13,7 @@ class Transition : | ||||||
| 	friend SceneManager; | 	friend SceneManager; | ||||||
| 
 | 
 | ||||||
| public: | public: | ||||||
| 	Transition(float duration); | 	Transition(double duration); | ||||||
| 
 | 
 | ||||||
| 	// 场景切换动画是否结束
 | 	// 场景切换动画是否结束
 | ||||||
| 	bool isEnding(); | 	bool isEnding(); | ||||||
|  | @ -42,9 +42,9 @@ protected: | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
| 	bool m_bEnd; | 	bool m_bEnd; | ||||||
| 	float m_fLast; | 	double m_fLast; | ||||||
| 	float m_fDuration; | 	double m_fDuration; | ||||||
| 	float m_fRateOfProgress; | 	double m_fRateOfProgress; | ||||||
| 	Scene * m_pPrevScene; | 	Scene * m_pPrevScene; | ||||||
| 	Scene * m_pNextScene; | 	Scene * m_pNextScene; | ||||||
| }; | }; | ||||||
|  | @ -56,8 +56,8 @@ class TransitionFade : | ||||||
| public: | public: | ||||||
| 	// 创建淡入淡出式的场景切换动画
 | 	// 创建淡入淡出式的场景切换动画
 | ||||||
| 	TransitionFade( | 	TransitionFade( | ||||||
| 		float fadeOutDuration,	/* 前一场景淡出动画持续时长 */ | 		double fadeOutDuration,	/* 前一场景淡出动画持续时长 */ | ||||||
| 		float fadeInDuration	/* 后一场景淡入动画持续时长 */ | 		double fadeInDuration	/* 后一场景淡入动画持续时长 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
|  | @ -69,8 +69,8 @@ protected: | ||||||
| 	virtual void _reset() override; | 	virtual void _reset() override; | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
| 	float m_fFadeOutDuration; | 	double m_fFadeOutDuration; | ||||||
| 	float m_fFadeInDuration; | 	double m_fFadeInDuration; | ||||||
| 	bool m_bFadeOutTransioning; | 	bool m_bFadeOutTransioning; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | @ -81,7 +81,7 @@ class TransitionEmerge : | ||||||
| public: | public: | ||||||
| 	// 创建浮现式的场景切换动画
 | 	// 创建浮现式的场景切换动画
 | ||||||
| 	TransitionEmerge( | 	TransitionEmerge( | ||||||
| 		float duration	/* 浮现动画持续时长 */ | 		double duration	/* 浮现动画持续时长 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
|  | @ -108,7 +108,7 @@ public: | ||||||
| 
 | 
 | ||||||
| 	// 创建移动式的场景切换动画
 | 	// 创建移动式的场景切换动画
 | ||||||
| 	TransitionMove( | 	TransitionMove( | ||||||
| 		float moveDuration,			/* 场景移动动画持续时长 */ | 		double moveDuration,			/* 场景移动动画持续时长 */ | ||||||
| 		MOVE_DIRECT direct = LEFT	/* 场景移动方向 */ | 		MOVE_DIRECT direct = LEFT	/* 场景移动方向 */ | ||||||
| 	); | 	); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue