InteractionTracker.TryUpdateScaleWithAdditionalVelocity Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Tenta atualizar a escala adicionando a velocidade especificada.
O método TryUpdateScaleWithAdditionalVelocity adiciona o escalar inserido que representa velocidade adicional à velocidade atual de InteractionTracker , bem como desloca o ponto central para o Vector3 inserido. Como resultado, como a velocidade do InteractionTracker agora foi alterada, a posição de escala rest direcionada para InteractionTracker agora é alterada. TryUpdateScaleWithAdditionalVelocity pode ser chamado dos estados Idle, Inertia ou CustomAnimation – isso adicionará ou atualizará a velocidade de InteractionTracker e entrará no estado inércia.
public:
virtual int TryUpdateScaleWithAdditionalVelocity(float velocityInPercentPerSecond, float3 centerPoint) = TryUpdateScaleWithAdditionalVelocity;
int TryUpdateScaleWithAdditionalVelocity(float const& velocityInPercentPerSecond, float3 const& centerPoint);
public int TryUpdateScaleWithAdditionalVelocity(float velocityInPercentPerSecond, Vector3 centerPoint);
function tryUpdateScaleWithAdditionalVelocity(velocityInPercentPerSecond, centerPoint)
Public Function TryUpdateScaleWithAdditionalVelocity (velocityInPercentPerSecond As Single, centerPoint As Vector3) As Integer
Parâmetros
- velocityInPercentPerSecond
-
Single
float
A velocidade a ser adicionada à escala.
Retornos
int
Retorna a ID da solicitação. Em transições de estado, a solicitação que causou a alteração no estado será incluída nos args. Essas IDs começarão em 1 e aumentarão com cada chamada try durante o tempo de vida do aplicativo.
Exemplos
// Listen for the InertiaStateEntered event
public void InertiaStateEntered(InteractionTracker sender, InteractionTrackerInertiaStateEnteredArgs args)
{
// Adding velocity to InteractionTracker if condition met
if (_extraVelocityNeeded)
{
// Adding velocity to the scale motion.
_tracker.TryUpdateScaleWithAdditionalVelocity(3.0f, new Vector3(75f));
}
}
Comentários
Se InteractionTracker estiver em seu estado de interação (manipulação ativa do usuário) e TryUpdateScaleWithAdditionalVelocity for chamado, o sistema ignorará essa solicitação – um evento será acionado quando isso ocorrer, que pode ser escutado. Se enviado de um dos outros estados, ouça o evento acionado para InertiaStateEntered e marcar a propriedade RequestId que identifica qual solicitação disparou o retorno de chamada.
A tabela a seguir resume o comportamento esperado quando esse método é chamado em um estado específico:
Estado Atual | Resultado |
---|---|
Ocioso | As alterações de estado para modificadores de inércia e inércia são avaliadas com velocidade solicitada como velocidade inicial |
Interação | Solicitação ignorada |
Inércia | A inércia é reiniciada (o estado reentra na inércia) e os modificadores de inércia são avaliados com a velocidade solicitada adicionada à velocidade atual |
CustomAnimation | As paradas de animação atuais e o estado são alterados para inércia com modificadores de inércia avaliados usando a velocidade solicitada como velocidade inicial |