示例#1
0
void Button::draw(sf::RenderTarget& target, sf::RenderStates states) const
{
    if(isDisabled()) return;

    if(isPressed())
        target.draw(m_sprites[2], states);
    else if(isHover())
        target.draw(m_sprites[1], states);
    else
        target.draw(m_sprites[0], states);
}
示例#2
0
void Button::onEvent(const sf::Event& event)
{
    if(isDisabled()) return;

    if(event.type == sf::Event::MouseButtonPressed)
    {
        setPressed(isHover());

        if(isHover() && m_callbackPressed)
            m_callbackPressed();
    }

    if(event.type == sf::Event::MouseButtonReleased || event.type == sf::Event::MouseLeft)
    {
        if(isPressed() && m_callbackReleased)
            m_callbackReleased();

        setPressed(false);
    }
}
	void update()
	{
		if (!isHover())
			current_axis = -1;
	}