Padroneggia l'animazione rimbalzante con questa libreria React e questi pratici suggerimenti.

La libreria di API animate di React Native può aiutarti a creare animazioni dinamiche e fluide con poco sforzo.

Scopri come creare animazioni con un effetto primaverile, quindi scopri come controllarne la durata e la velocità e applicarle in scenari reali.

Cosa sono le animazioni dinamiche?

Le animazioni dinamiche sono animazioni in cui i movimenti degli oggetti animati non sono pre-programmati. È possibile avviarli in risposta all'interazione dell'utente o alle modifiche all'ambiente. La tecnica è più popolare in animazione di videogiochi, applicazioni di social media o altre forme di media interattivi.

Le animazioni dinamiche possono fornire un'esperienza più coinvolgente e coinvolgente per gli utenti, poiché consentono movimenti imprevedibili e reattivi che possono cambiare in base a diversi fattori.

Le animazioni nelle app mobili sono diventate, nel corso degli anni, sempre più complesse. L'API animata predefinita di React Native è avanzata per adattarsi a queste complessità. IL

instagram viewer
Animated.spring() Il metodo fornito dall'API può animare oggetti React Native, creando un effetto dinamico.

Controllo dell'animazione

Quando si utilizza il Animated.spring() metodo, dovrai avere il controllo sull'animazione per assicurarti che si comporti come desideri. Animated fornisce una serie di metodi per controllare e manipolare manualmente le animazioni di React Native.

Uno di questi metodi è fermare(), che fa sì che l'animazione si arresti al suo valore corrente. Questo metodo è utile quando è necessario annullare un'animazione o ripristinarne lo stato iniziale.

Per esempio:

cost stopAnimation = () => {
posizione.stop(valore => {
posizione.setValue(0);
});
};

Nota come puoi usare il file valore impostato() metodo per reimpostare il valore della posizione al suo stato iniziale di 0.

Un altro metodo a tua disposizione è Ripristina(), che riporta l'animazione allo stato iniziale. Questo metodo è utile quando è necessario riavviare un'animazione.

Applicazioni del mondo reale

È possibile esplorare un uso pratico del Animated.spring() metodo costruendo una semplice animazione. Una palla rotonda cadrà su una superficie quando un utente interagisce con essa, per poi rimbalzare in aria subito dopo. Dovresti già avere un progetto Native React con cui lavorare.

Innanzitutto, crea una variabile di stato per tracciare la posizione della palla:

importare Reagisci, { useState } da'reagire';
importare {Animato} da'nativo di reazione';

cost Applicazione = () => {
cost [posizione, setPosizione] = useState(nuovo Animato. Valore(0));

ritorno (
trasformare: [{ tradurreY: posizione }] }}>
{/* Componente palla qui */}
</Animated.View>
);
};

Utilizzo Animato. Valore per creare una variabile di stato chiamata posizione che seguirà la posizione verticale della palla. Avvolgere il Visualizzazione componente dentro Animato. Visualizzazione quindi puoi applicare animazioni ad esso.

Quindi, crea la funzione di animazione che farà cadere e rimbalzare la palla:

cost inizioAnimazione = () => {
Animated.spring (posizione, {
aValore: 300,
attrito: 1,
tensione: 10,
usaNativeDriver: VERO,
}).inizio(() => {
Animated.spring (posizione, {
aValore: 0,
attrito: 1,
tensione: 10,
usaNativeDriver: VERO,
}).inizio();
});
};

Utilizzo Animated.spring() per creare un'animazione che sposterà la pallina dalla sua posizione iniziale di 0 a una posizione finale di 300. Specificare attrito E tensione valori per controllare l'effetto di rimbalzo della palla durante l'impostazione usaNativeDriver A VERO per migliorare le prestazioni.

È quindi possibile implementare il codice per attivare l'animazione quando un utente interagisce con la palla:

ritorno (

trasformare: [{ tradurreY: posizione }] }}>
{/* Componente palla qui */}
</Animated.View>
</TouchableWithoutFeedback>
);

Questo codice racchiude il file Animato. Visualizzazione componente dentro Toccabile senza feedback in modo che l'animazione si attivi quando l'utente preme la pallina. Puoi anche attivare l'animazione quando il componente viene montato chiamando il metodo startAnimation() funzione all'interno di React usaEffetto() gancio.

Con questo codice, dovresti avere un'animazione della palla che cade creata usando Animated.spring().

Animazioni dinamiche in React Native

Hai visto come implementare l'animazione di una palla che cade usando Animated.spring(), ma ci sono molti altri modi in cui puoi usarla per creare animazioni dinamiche.

Ad esempio, puoi utilizzare Animated.spring() per creare animazioni che simulano altri movimenti basati sulla fisica, come l'oscillazione o la rotazione di oggetti.

Combinando Animated.spring() con altre funzioni di animazione, come Animated.timing() o Animated.sequence(), puoi creare animazioni complesse e fluide che migliorano l'esperienza dell'utente.