本文整理汇总了C++中Mat3::CreateScale方法的典型用法代码示例。如果您正苦于以下问题:C++ Mat3::CreateScale方法的具体用法?C++ Mat3::CreateScale怎么用?C++ Mat3::CreateScale使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mat3
的用法示例。
在下文中一共展示了Mat3::CreateScale方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Transform
void Sprite::Transform(const Mat3 &rhs)
{
Vector3 topLeft(0 - m_anchor.x, 1 - m_anchor.y);
Vector3 topRight(1 - m_anchor.x, 1 - m_anchor.y);
Vector3 bottomLeft(0 - m_anchor.x, 0 - m_anchor.y);
Vector3 bottomRight(1 - m_anchor.x, 0 - m_anchor.y);
Mat3 scale = (scale.CreateScale( Vector3( (float)m_width, (float)m_height)));
topLeft = rhs * (scale * topLeft);
topRight = rhs * (scale * topRight);
bottomLeft = rhs * (scale * bottomLeft);
bottomRight = rhs * (scale * bottomRight);
topLeft.x = ((2.0f / m_game->GetScreenWidth()) * topLeft.x) - 1.0f;
topLeft.y = ((2.0f / m_game->GetScreenHeight()) * topLeft.y) - 1.0f;
topRight.x = ((2.0f / m_game->GetScreenWidth()) * topRight.x) - 1.0f;
topRight.y = ((2.0f / m_game->GetScreenHeight()) * topRight.y) - 1.0f;
bottomLeft.x = ((2.0f / m_game->GetScreenWidth()) * bottomLeft.x) - 1.0f;
bottomLeft.y = ((2.0f / m_game->GetScreenHeight()) * bottomLeft.y) - 1.0f;
bottomRight.x = ((2.0f / m_game->GetScreenWidth()) * bottomRight.x) - 1.0f;
bottomRight.y = ((2.0f / m_game->GetScreenHeight()) * bottomRight.y) - 1.0f;
m_vertices[0].Positions[0] = topLeft.x;
m_vertices[0].Positions[1] = topLeft.y;
m_vertices[1].Positions[0] = topRight.x;
m_vertices[1].Positions[1] = topRight.y;
m_vertices[2].Positions[0] = bottomLeft.x;
m_vertices[2].Positions[1] = bottomLeft.y;
m_vertices[3].Positions[0] = bottomRight.x;
m_vertices[3].Positions[1] = bottomRight.y;
}