使用Unity制作一款酷炫的2D游戲:LoopMania開發(fā)教程
抖動(dòng)插件代碼。
使用方法:在unity中新建一個(gè)與類同名的腳本,然后將下面的代碼復(fù)制進(jìn)去即可使用。
代碼:
using UnityEngine;
/// <summary>
/// 相機(jī)抖動(dòng)
/// </summary>
public class CameraShake : MonoBehaviour
{
public Transform camTransform;
private static float shakeDuration = 0f;
private static float shakeAmount = 0.7f;
private float vel;
private Vector3 vel2 = Vector3.zero;
private Vector3 originalPos;
private void Awake()
{
if (camTransform == null)
{
camTransform = base.transform;
}
originalPos = camTransform.localPosition;
}
public static void ShakeOnce(float _shakeDuration, float _shakeAmount)
{
shakeDuration = _shakeDuration;
shakeAmount = _shakeAmount;
}
private void Update()
{
if (shakeDuration > 0f)
{
Vector3 target = originalPos + UnityEngine.Random.insideUnitSphere * shakeAmount;
camTransform.localPosition = Vector3.SmoothDamp(camTransform.localPosition, target, ref vel2, 0.05f);
shakeDuration -= Time.deltaTime;
shakeAmount = Mathf.SmoothDamp(shakeAmount, 0f, ref vel, 0.7f);
}
else
{
camTransform.localPosition = originalPos;
}
}
}
使用Unity制作一款酷炫的2D游戲:LoopMania開發(fā)教程的評(píng)論 (共 條)
