| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | |
| | | namespace vnxbqy.UI { |
| | | public class PingPongScale:MonoBehaviour { |
| | | public class PingPongScale:MonoBehaviour { |
| | | |
| | | public Transform reference; |
| | | public Vector3 amplitue; |
| | | public float speed; |
| | | public Transform reference; |
| | | public Vector3 amplitue; |
| | | public float speed; |
| | | |
| | | Vector3 referenceScale = Vector3.zero; |
| | | Vector3 referenceScale = Vector3.zero; |
| | | |
| | | void OnEnable() { |
| | | referenceScale = reference == null ? this.transform.localScale : reference.localScale; |
| | | } |
| | | |
| | | float x = 0f; |
| | | float y = 0f; |
| | | float z = 0f; |
| | | void LateUpdate() { |
| | | |
| | | if(Mathf.Abs(amplitue.x) > 0.001f) { |
| | | x = referenceScale.x - amplitue.x * 0.5f + Mathf.PingPong(Time.time * speed,amplitue.x); |
| | | } |
| | | else { |
| | | x = referenceScale.x; |
| | | } |
| | | |
| | | if(Mathf.Abs(amplitue.y) > 0.001f) { |
| | | y = referenceScale.y - amplitue.y * 0.5f + Mathf.PingPong(Time.time * speed,amplitue.y); |
| | | } |
| | | else { |
| | | y = referenceScale.y; |
| | | } |
| | | |
| | | if(Mathf.Abs(amplitue.z) > 0.001f) { |
| | | z = referenceScale.z - amplitue.z * 0.5f + Mathf.PingPong(Time.time * speed,amplitue.z); |
| | | } |
| | | else { |
| | | z = referenceScale.z; |
| | | } |
| | | |
| | | this.transform.localScale = new Vector3(x,y,z); |
| | | } |
| | | void OnEnable() { |
| | | referenceScale = reference == null ? this.transform.localScale : reference.localScale; |
| | | } |
| | | |
| | | float x = 0f; |
| | | float y = 0f; |
| | | float z = 0f; |
| | | void LateUpdate() { |
| | | |
| | | if(Mathf.Abs(amplitue.x) > 0.001f) { |
| | | x = referenceScale.x - amplitue.x * 0.5f + Mathf.PingPong(Time.time * speed,amplitue.x); |
| | | } |
| | | else { |
| | | x = referenceScale.x; |
| | | } |
| | | |
| | | if(Mathf.Abs(amplitue.y) > 0.001f) { |
| | | y = referenceScale.y - amplitue.y * 0.5f + Mathf.PingPong(Time.time * speed,amplitue.y); |
| | | } |
| | | else { |
| | | y = referenceScale.y; |
| | | } |
| | | |
| | | if(Mathf.Abs(amplitue.z) > 0.001f) { |
| | | z = referenceScale.z - amplitue.z * 0.5f + Mathf.PingPong(Time.time * speed,amplitue.z); |
| | | } |
| | | else { |
| | | z = referenceScale.z; |
| | | } |
| | | |
| | | this.transform.localScale = new Vector3(x,y,z); |
| | | } |
| | | } |
| | | |
| | | |