Partilhar via


InteractionTracker.TryUpdatePositionWithAdditionalVelocity(Vector3) Método

Definição

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

velocityInPixelsPerSecond
Vector3 Vector3

float3

A velocidade a ser adicionada em pixels por segundo.

Retornos

Int32

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 AtualResultado
OciosoAs alterações de estado para modificadores de inércia e inércia são avaliadas com a velocidade solicitada como velocidade inicial
InteraçãoSolicitação ignorada
InérciaA 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
CustomAnimationAs 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

Aplica-se a