一、场景场景,并且做好布局,如下所示:
二、编写控制振动的脚本
/*** * Title:"SimpleUIFrame" UI框架项目 * 主题:关于场景或物体的振动(原理是使摄像机振动) * Description: * 功能:实现场景的整体振动 * Date:2017 * Version:0.1版本 * Author:Coffee * Modify Recoder: */ using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; namespace SimpleUIFrame { public class MyScreenShake : MonoBehaviour { public Transform MainCamera; //主摄像机(表示整个场景振动) public Transform NeedGameObject; //需要振动的物体 //物体移动或返回指定位置的标识 private bool IsMove = false; private void Update() { //整个场景振动 if (Input.GetKeyDown(KeyCode.A)) { MyShake(MainCamera); } //单一物体振动 if (Input.GetKeyDown(KeyCode.B)) { MyShake(NeedGameObject); } } public void MyShake( Transform tf) { if (tf!=null) { //控制振动 //Tweener tweener = tf.DOShakePosition(5); //Tweener tweener = tf.DOShakePosition(1,1); ////表示在X轴方向进行振动 //Tweener tweener = tf.DOShakePosition(11, new Vector3(1, 0, 0), 20); ////表示在Y轴方向进行振动 Tweener tweener = tf.DOShakePosition(11, new Vector3(0, 1, 0), 20); } } }//class_end }
三、将该脚本添加到脚本管理器上(在场景中新建一个空物体改名为_ScriptMgr)上,然后给脚本指定对应的物体
四、运行场景,然后开启大写,按下键盘"A",则整个场景振动,按下键盘"B"则指定需要振动的物体(这里是小球)振动