欢迎光临散文网 会员登陆 & 注册

使用Unity制作一款酷炫的2D游戏:LoopMania开发教程

2020-04-08 09:33 作者:程序员小明哥  | 我要投稿

抖动插件代码。

使用方法:在unity中新建一个与类同名的脚本,然后将下面的代码复制进去即可使用。

代码:

using UnityEngine;


/// <summary>

/// 相机抖动

/// </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开发教程的评论 (共 条)

分享到微博请遵守国家法律