You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
3.3 KiB

7 years ago
  1. #pragma strict
  2. import DentedPixel;
  3. public var prefabAvatar:GameObject;
  4. function Start () {
  5. // Setup
  6. var avatarRotate:GameObject = GameObject.Find("AvatarRotate");
  7. var avatarScale:GameObject = GameObject.Find("AvatarScale");
  8. var avatarMove:GameObject = GameObject.Find("AvatarMove");
  9. // Rotate Example
  10. LeanTween.rotateAround( avatarRotate, Vector3.forward, 360f, 5f);
  11. // Scale Example
  12. LeanTween.scale( avatarScale, new Vector3(1.7f, 1.7f, 1.7f), 5f).setEase(LeanTweenType.easeOutBounce);
  13. LeanTween.moveX( avatarScale, avatarScale.transform.position.x + 5f, 5f).setEase(LeanTweenType.easeOutBounce); // Simultaneously target many different tweens on the same object
  14. // Move Example
  15. LeanTween.move( avatarMove, avatarMove.transform.position + new Vector3(-9f, 0f, 1f), 2f).setEase(LeanTweenType.easeInQuad);
  16. // Delay
  17. LeanTween.move( avatarMove, avatarMove.transform.position + new Vector3(-6f, 0f, 1f), 2f).setDelay(3f);
  18. // Chain properties (delay, easing with a set repeating of type ping pong)
  19. LeanTween.scale( avatarScale, new Vector3(0.2f, 0.2f, 0.2f), 1f).setDelay(7f).setEase(LeanTweenType.easeInOutCirc).setRepeat(5).setLoopPingPong();
  20. // Call methods after a certain time period
  21. LeanTween.delayedCall(gameObject, 0.2f, advancedExamples);
  22. }
  23. // Advanced Examples
  24. // It might be best to master the basics first, but this is included to tease the many possibilies LeanTween provides.
  25. function advancedExamples(){
  26. LeanTween.delayedCall(gameObject, 14f, function(){
  27. for(var i:int=0; i < 10; i++){
  28. // Instantiate Container
  29. var rotator:GameObject = new GameObject("rotator"+i);
  30. rotator.transform.position = new Vector3(10.2f,2.85f,0f);
  31. // Instantiate Avatar
  32. var dude:GameObject = GameObject.Instantiate(prefabAvatar, Vector3.zero, prefabAvatar.transform.rotation ) as GameObject;
  33. dude.transform.parent = rotator.transform;
  34. dude.transform.localPosition = new Vector3(0f,1.5f,2.5f*i);
  35. // Scale, pop-in
  36. dude.transform.localScale = new Vector3(0f,0f,0f);
  37. LeanTween.scale(dude, new Vector3(0.65f,0.65f,0.65f), 1f).setDelay(i*0.2f).setEase(LeanTweenType.easeOutBack);
  38. // Color like the rainbow
  39. var period:float = LeanTween.tau/10*i;
  40. var red:float = Mathf.Sin(period + LeanTween.tau*0f/3f) * 0.5f + 0.5f;
  41. var green:float = Mathf.Sin(period + LeanTween.tau*1f/3f) * 0.5f + 0.5f;
  42. var blue:float = Mathf.Sin(period + LeanTween.tau*2f/3f) * 0.5f + 0.5f;
  43. var rainbowColor:Color = new Color(red, green, blue);
  44. LeanTween.color(dude, rainbowColor, 0.3f).setDelay(1.2f + i*0.4f);
  45. // Push into the wheel
  46. LeanTween.moveZ(dude, 0f, 0.3f).setDelay(1.2f + i*0.4f).setEase(LeanTweenType.easeSpring).setOnComplete(
  47. function( rot:GameObject ){
  48. LeanTween.rotateAround(rot, Vector3.forward, -1080f, 12f);
  49. }
  50. ).setOnCompleteParam( rotator );
  51. // Jump Up and back down
  52. LeanTween.moveLocalY(dude,4f,1.2f).setDelay(5f + i*0.2f).setLoopPingPong().setRepeat(2).setEase(LeanTweenType.easeInOutQuad);
  53. // Alpha Out, and destroy
  54. LeanTween.alpha(dude, 0f, 0.6f).setDelay(9.2f + i*0.4f).setDestroyOnComplete(true).setOnComplete(
  55. function(rot:GameObject){
  56. Destroy( rot ); // destroying parent as well
  57. }
  58. ).setOnCompleteParam( rotator );
  59. }
  60. }).setOnCompleteOnStart(true).setRepeat(-1); // Have the OnComplete play in the beginning and have the whole group repeat endlessly
  61. }