纳金网

标题: 震屏效果的代码 [打印本页]

作者: may    时间: 2016-1-30 23:06
标题: 震屏效果的代码
  1. using UnityEngine;
  2. using System.Collections;
  3. publicclass ScreenShake : MonoBehaviour
  4. {
  5.     privatefloat shakeTime = 0.0f;
  6.     privatefloat fps= 20.0f;
  7.     privatefloat frameTime =0.0f;
  8.     privatefloat shakeDelta =0.005f;
  9.     public  Camera cam ;
  10.     publicstaticbool isshakeCamera =false;
  11.     // Use this for initializationvoid Start ()
  12.     {
  13.         shakeTime = 2.0f;
  14.         fps= 20.0f;
  15.         frameTime =0.03f;
  16.         shakeDelta =0.005f;
  17.    //isshakeCamera=true;
  18.     }
  19.    
  20.     // Update is called once per framevoid Update ()
  21.     {
  22.         if (isshakeCamera)
  23.         {
  24.             if(shakeTime > 0)
  25.             {
  26.                 shakeTime -= Time.deltaTime;
  27.                 if(shakeTime <= 0)
  28.                 {
  29.                     cam.rect = new Rect(0.0f,0.0f,1.0f,1.0f);
  30.                     isshakeCamera =false;
  31.                     shakeTime = 1.0f;
  32.                     fps= 20.0f;
  33.                     frameTime =0.03f;
  34.                     shakeDelta =0.005f;
  35.                 }
  36.                 else
  37.                 {
  38.                     frameTime += Time.deltaTime;
  39.                     
  40.                     if(frameTime > 1.0 / fps)
  41.                     {
  42.                         frameTime = 0;
  43.                         cam.rect = new Rect(shakeDelta * ( -1.0f + 2.0f * Random.value),shakeDelta * ( -1.0f + 2.0f * Random.value), 1.0f, 1.0f);
  44.                     }
  45.                 }
  46.             }
  47.         }
  48.     }
  49. }
复制代码





欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5