Hi, does anyone know how to scale a object after moving the same gameobject. Currently im using touchscript which is found from the asset store and i only could scale and move the object at a separate time. Heres the current code:
protected override float doScaling(Vector2 oldScreenPos1, Vector2 oldScreenPos2, Vector2
newScreenPos1,
Vector2 newScreenPos2, ProjectionParams projectionParams)
{
var newVector = projectionParams.ProjectTo(newScreenPos2, TransformPlane) -
projectionParams.ProjectTo(newScreenPos1, TransformPlane);
var oldVector = projectionParams.ProjectTo(oldScreenPos2, TransformPlane) -
projectionParams.ProjectTo(oldScreenPos1, TransformPlane);
return newVector.magnitude / oldVector.magnitude;
}
/// <inheritdoc />
protected override Vector3 doOnePointTranslation(Vector2 oldScreenPos, Vector2 newScreenPos,
ProjectionParams projectionParams)
{
if (isTransforming)
{
return projectionParams.ProjectTo(newScreenPos, TransformPlane) -
projectionParams.ProjectTo(oldScreenPos, TransformPlane);
}
screenPixelTranslationBuffer += newScreenPos - oldScreenPos;
if (screenPixelTranslationBuffer.sqrMagnitude > screenTransformPixelThresholdSquared)
{
isTransforming = true;
return projectionParams.ProjectTo(newScreenPos, TransformPlane) -
projectionParams.ProjectTo(newScreenPos - screenPixelTranslationBuffer, TransformPlane);
}
return Vector3.zero;
}
/// <inheritdoc />
protected override Vector3 doTwoPointTranslation(Vector2 oldScreenPos1, Vector2 oldScreenPos2,
Vector2 newScreenPos1, Vector2 newScreenPos2, float dR, float dS, ProjectionParams projectionParams)
{
if (isTransforming)
{
return projectionParams.ProjectTo(newScreenPos1, TransformPlane) - projectScaledRotated(oldScreenPos1, dR, dS, projectionParams);
}
screenPixelTranslationBuffer += newScreenPos1 - oldScreenPos1;
if (screenPixelTranslationBuffer.sqrMagnitude > screenTransformPixelThresholdSquared)
{
isTransforming = true;
return projectionParams.ProjectTo(newScreenPos1, TransformPlane) -
projectScaledRotated(newScreenPos1 - screenPixelTranslationBuffer, dR, dS, projectionParams);
}
//doScaling();
return Vector3.zero;
}