示例#1
0
文件: GUITexture.cpp 项目: heyx3/K1LL
Box2D GUITexture::GetBounds(void) const
{
    Vector2f dims = GetScale();
    if (tex != 0)
    {
        if (rotation == 0.0f)
        {
            dims = ToV2f(Vector2u(tex->GetWidth(), tex->GetHeight()));
            dims.MultiplyComponents(GetScale());
        }
        else
        {
            float diameter = 2.0f * ToV2f(Vector2u(tex->GetWidth(), tex->GetHeight())).Length();
            dims = Vector2f(diameter, diameter);
        }
    }

    return Box2D(Vector2f(), dims);
}
示例#2
0
Vector2f MouseDeltaVector2Input::GetRawInput(float elapsedFrameTime, float elapsedTotalTime)
{
	//Calculate delta.
	sf::Vector2i posI = sf::Mouse::getPosition();
	Vector2f delta = Vector2f(posI.x - prevPos.x, posI.y - prevPos.y);
    if (!UseHorizontal) delta.x = 0.0f;
    if (!UseVertical) delta.y = 0.0f;
    delta.MultiplyComponents(SpeedScale);

	//Update "prevPos". If necessary, reset the mouse position first.
	if (MouseResetPos.x != -1 && MouseResetPos.y != -1)
	{
		sf::Mouse::setPosition(MouseResetPos);
		prevPos = MouseResetPos;
	}
	else
	{
		prevPos = posI;
	}

    return delta;
}