Partilhar via


InteractionTracker.TryUpdateScaleWithAdditionalVelocity Método

Definição

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.

centerPoint
Vector3 Vector3

float3

O novo ponto central.

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

Aplica-se a