12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class GeneralSequencer : MonoBehaviour {
- public GameObject avatar1;
- public GameObject star;
- public GameObject dustCloudPrefab;
- public float speedScale = 1f;
- public void Start(){
- // Jump up
- var seq = LeanTween.sequence();
- seq.append( LeanTween.moveY( avatar1, avatar1.transform.localPosition.y + 6f, 1f).setEaseOutQuad() );
- // Power up star, use insert when you want to branch off from the regular sequence (this does not push back the delay of other subsequent tweens)
- seq.insert( LeanTween.alpha(star, 0f, 1f) );
- seq.insert( LeanTween.scale( star, Vector3.one * 3f, 1f) );
- // Rotate 360
- seq.append( LeanTween.rotateAround( avatar1, Vector3.forward, 360f, 0.6f ).setEaseInBack() );
- // Return to ground
- seq.append( LeanTween.moveY( avatar1, avatar1.transform.localPosition.y, 1f).setEaseInQuad() );
- // Kick off spiraling clouds - Example of appending a callback method
- seq.append(() => {
- for(int i = 0; i < 50f; i++){
- GameObject cloud = Instantiate(dustCloudPrefab) as GameObject;
- cloud.transform.parent = avatar1.transform;
- cloud.transform.localPosition = new Vector3(Random.Range(-2f,2f),0f,0f);
- cloud.transform.eulerAngles = new Vector3(0f,0f,Random.Range(0,360f));
- var range = new Vector3(cloud.transform.localPosition.x, Random.Range(2f,4f), Random.Range(-10f,10f));
- // Tweens not in a sequence, because we want them all to animate at the same time
- LeanTween.moveLocal(cloud, range, 3f*speedScale).setEaseOutCirc();
- LeanTween.rotateAround(cloud, Vector3.forward, 360f*2, 3f*speedScale).setEaseOutCirc();
- LeanTween.alpha(cloud, 0f, 3f*speedScale).setEaseOutCirc().setDestroyOnComplete(true);
- }
- });
- // You can speed up or slow down the sequence of events
- seq.setScale(speedScale);
- // seq.reverse(); // not working yet
- // Testing canceling sequence after a bit of time
- //LeanTween.delayedCall(3f, () =>
- //{
- // LeanTween.cancel(seq.id);
- //});
- }
- }
|