Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En la ilustración siguiente se muestran dos maneras de expandir un objeto.
En el ejemplo A, el ejemplo de expansión simple, el objeto se expande alrededor de su punto central. En el ejemplo B, el objeto se expande alrededor del punto central de la manipulación. Para habilitar esto, debe traducir el objeto mientras se expande. La cantidad que traducirá el objeto es la misma que la distancia desde el centro del objeto hasta el punto central del gesto. Intuitivamente, es como si se expanda el objeto desde el punto central del gesto de expansión y, a continuación, se mueve para que todavía esté en el mismo centro que su posición inicial. El código siguiente muestra una manera de aplicar este concepto para habilitar la expansión alrededor de un punto 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];
}
Temas relacionados