Expansion avancée
L’illustration suivante montre deux façons de développer un objet.
Dans l’exemple A, l’exemple d’expansion simple, l’objet est développé autour de son point central. Dans l’exemple B, l’objet est développé autour du point central de la manipulation. Pour l’activer, vous devez traduire l’objet pendant son développement. La quantité que vous allez traduire l’objet est la même que la distance entre le centre de l’objet et le point central du mouvement. Intuitivement, c’est comme si vous développez l’objet à partir du point central de votre mouvement d’expansion, puis que vous le déplacez de sorte qu’il soit toujours au même centre que sa position initiale. Le code suivant montre une façon d’appliquer ce concept pour activer l’expansion autour d’un point central.
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];
}
Rubriques connexes