다음을 통해 공유


고급 확장

다음 그림에서는 개체를 확장할 수 있는 두 가지 방법을 보여 줍니다.

개체의 중심점 주위의 간단한 확장과 조작의 중심점 주위의 고급 확장을 보여 주는 그림

예를 들어 간단한 확장 예제인 A에서는 개체가 중심점을 중심으로 확장됩니다. 예제 B에서는 개체가 조작의 중심점 주위에 확장됩니다. 이를 사용하도록 설정하려면 개체가 확장되는 동안 개체를 변환해야 합니다. 개체를 변환할 크기는 개체의 중심에서 제스처의 중심점까지의 거리와 같습니다. 직관적으로, 마치 확장 제스처의 중심점에서 개체를 확장한 다음 초기 위치와 동일한 가운데에 있도록 개체를 이동하는 것처럼 보입니다. 다음 코드에서는 이 개념을 적용하여 중심점을 중심으로 확장할 수 있는 한 가지 방법을 보여 줍니다.

    if(m_fFactor != 1.0f)
    {
        // We represent our vectors as an array.
        // x: vx[0], y: vx[1]

        FLOAT v1[2];
        v1[0] = this->get_CenterX() - fOffset[0];
        v1[1] = this->get_CenterY() - fOffset[1];

        FLOAT v2[2];
        v2[0] = v1[0] * m_fFactor;
        v2[1] = v1[1] * m_fFactor;
        
        m_fdX += v2[0] - v1[0];
        m_fdY += v2[1] - v1[1];
    }
   

조작