using System.Collections; using System.Collections.Generic; using UnityEngine; public class ShaiFenJi : MonoBehaviour { public GameObject wuTi;//物体 private C_Model model; Vector3 first_pos; private float swing = 0.02f;//震动幅度 // Use this for initialization void Start () { model = this.GetComponent<C_Model>(); first_pos = wuTi.transform.localPosition; } // Update is called once per frame void Update () { if (model.Info ==1) { Vector3 pos = first_pos + Random.insideUnitSphere * swing; pos.y = wuTi.transform.localPosition.y; wuTi.transform.localPosition = pos; } } }
//震动多少秒
IEnumerator Shake()
{
float elapsed = 0; // 记录震动持续时间
while (elapsed < shakeDuration)
{
Vector3 newPosition = originalPosition + Random.insideUnitSphere * shakeAmount; // 计算新的位置
transform.position = newPosition; // 设置新的位置
elapsed += Time.deltaTime; // 增加已过时间
yield return null; // 等待下一帧
}
transform.position = originalPosition; // 震动结束后重置位置到原始位置
}