性能优化
This commit is contained in:
		
							parent
							
								
									cc300aeb7c
								
							
						
					
					
						commit
						6c921079ac
					
				|  | @ -69,7 +69,7 @@ void e2d::Game::start() | |||
| 
 | ||||
| 		if (_config.isVSyncEnabled() || _frameInterval < interval) | ||||
| 		{ | ||||
| 			_last += _frameInterval; | ||||
| 			_last = _now; | ||||
| 			__update(); | ||||
| 		} | ||||
| 		else | ||||
|  |  | |||
|  | @ -47,8 +47,7 @@ void e2d::CollisionManager::__updateCollider(Collider* collider) | |||
| { | ||||
| 	if (Game::getInstance()->isPaused() || | ||||
| 		!Game::getInstance()->getConfig().isCollisionEnabled() || | ||||
| 		SceneManager::getInstance()->isTransitioning() || | ||||
| 		!collider->isCollisionNotify()) | ||||
| 		SceneManager::getInstance()->isTransitioning()) | ||||
| 		return; | ||||
| 
 | ||||
| 	for (size_t i = 0; i < _colliders.size(); i++) | ||||
|  |  | |||
|  | @ -175,8 +175,10 @@ void e2d::Button::setClickFunc(const Function& func) | |||
| 	_func = func; | ||||
| } | ||||
| 
 | ||||
| void e2d::Button::_fixedUpdate() | ||||
| void e2d::Button::_update() | ||||
| { | ||||
| 	Node::_update(); | ||||
| 
 | ||||
| 	if (SceneManager::getInstance()->isTransitioning()) | ||||
| 		return; | ||||
| 
 | ||||
|  |  | |||
|  | @ -122,14 +122,18 @@ void e2d::Node::_updateSelf() | |||
| 	if (_needTransform) | ||||
| 	{ | ||||
| 		updateTransform(); | ||||
| 		CollisionManager::getInstance()->__updateCollider(&_collider); | ||||
| 		if (_collider.isEnabled() && | ||||
| 			_collider.isCollisionNotify() && | ||||
| 			_collider.getShape() != Collider::Shape::None) | ||||
| 		{ | ||||
| 			CollisionManager::getInstance()->__updateCollider(&_collider); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if (_autoUpdate && !Game::getInstance()->isPaused()) | ||||
| 	{ | ||||
| 		this->onUpdate(); | ||||
| 	} | ||||
| 	this->_fixedUpdate(); | ||||
| } | ||||
| 
 | ||||
| void e2d::Node::_render() | ||||
|  |  | |||
|  | @ -408,33 +408,30 @@ protected: | |||
| 	E2D_DISABLE_COPY(Node); | ||||
| 
 | ||||
| 	// 更新节点
 | ||||
| 	void _update(); | ||||
| 	virtual void _update(); | ||||
| 
 | ||||
| 	// 更新自身
 | ||||
| 	void _updateSelf(); | ||||
| 	virtual void _updateSelf(); | ||||
| 
 | ||||
| 	// 渲染节点
 | ||||
| 	void _render(); | ||||
| 	virtual void _render(); | ||||
| 
 | ||||
| 	// 渲染节点轮廓
 | ||||
| 	void _renderOutline(); | ||||
| 	virtual void _renderOutline(); | ||||
| 
 | ||||
| 	// 渲染碰撞体轮廓
 | ||||
| 	void _renderCollider(); | ||||
| 	virtual void _renderCollider(); | ||||
| 
 | ||||
| 	// 设置节点所在场景
 | ||||
| 	void _setParentScene( | ||||
| 	virtual void _setParentScene( | ||||
| 		Scene * scene | ||||
| 	); | ||||
| 
 | ||||
| 	// 子节点排序
 | ||||
| 	void _sortChildren(); | ||||
| 	virtual void _sortChildren(); | ||||
| 
 | ||||
| 	// 更新节点透明度
 | ||||
| 	void _updateOpacity(); | ||||
| 
 | ||||
| 	// 提供给子类的更新函数
 | ||||
| 	virtual void _fixedUpdate() {} | ||||
| 	virtual void _updateOpacity(); | ||||
| 
 | ||||
| protected: | ||||
| 	String		_name; | ||||
|  | @ -821,15 +818,15 @@ protected: | |||
| 	// 按钮状态枚举
 | ||||
| 	enum class ButtonState { Normal, Mouseover, Selected }; | ||||
| 
 | ||||
| 	// 更新节点
 | ||||
| 	virtual void _update() override; | ||||
| 
 | ||||
| 	// 设置按钮状态
 | ||||
| 	virtual void _setState(ButtonState state); | ||||
| 
 | ||||
| 	// 刷新按钮显示
 | ||||
| 	virtual void _updateVisible(); | ||||
| 
 | ||||
| 	// 更新按钮状态
 | ||||
| 	virtual void _fixedUpdate() override; | ||||
| 
 | ||||
| 	// 执行按钮函数对象
 | ||||
| 	virtual void _runCallback(); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue