InteractionTracker.TryUpdatePositionWithAdditionalVelocity(Vector3) 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 posição do InteractionTracker adicionando velocidade.
O método TryUpdatePositionWithAdditionalVelocity adiciona o Vector3 de entrada que representa velocidade adicional à velocidade atual do InteractionTracker. Como resultado, como a velocidade do InteractionTracker agora foi alterada, a posição rest direcionada para InteractionTracker agora muda. TryUpdatePositionWithAdditionalVelocity pode ser chamado dos estados Idle, Inertia ou CustomAnimation . Isso adicionará ou atualizará a velocidade do InteractionTracker e entrará no estado inércia.
public:
virtual int TryUpdatePositionWithAdditionalVelocity(float3 velocityInPixelsPerSecond) = TryUpdatePositionWithAdditionalVelocity;
int TryUpdatePositionWithAdditionalVelocity(float3 const& velocityInPixelsPerSecond);
public int TryUpdatePositionWithAdditionalVelocity(Vector3 velocityInPixelsPerSecond);
function tryUpdatePositionWithAdditionalVelocity(velocityInPixelsPerSecond)
Public Function TryUpdatePositionWithAdditionalVelocity (velocityInPixelsPerSecond As Vector3) As Integer
Parâmetros
A velocidade a ser adicionada em pixels por segundo.
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 argumentos. Essas IDs começarão em 1 e aumentarão a 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)
{
// Only adding velocity in the Y direction
_tracker.TryUpdatePositionWithAdditionalVelocity(new Vector3(0.0f, 50.0f, 0.0f));
}
}
Comentários
Se InteractionTracker estiver em seu estado de interação (manipulação ativa do usuário) e TryUpdatePositionWithAdditionalVelocity 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 a velocidade solicitada como velocidade inicial |
Interação | Solicitação ignorada |
Inércia | A inércia é reiniciada (o estado entra novamente 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 as alterações de estado para inércia com modificadores de inércia avaliados usando a velocidade solicitada como velocidade inicial |