2d游戏里的一些特效,都是可以借助摄像机和面板直接的距离等的问题,进行多加控制的,贴出以脚本。不过Texture的话,是一些列的水波纹的那种,我是实在找不到了=_= .
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
///利用摄像机到Canvas的距离 放置Panel
public class EF_waterWave : MonoBehaviour
{
public Texture[] m_EffectTexture;
private MeshRenderer m_meshRenderer;
private int m_TextureListLength=0;
private int index = 0;
void Start ()
{
m_TextureListLength = m_EffectTexture.Length;
m_meshRenderer = this.GetComponent<MeshRenderer>();
InvokeRepeating("ChangeTexture", 0, 0.1f);
}
void Update ()
{}
public void ChangeTexture()
{
m_meshRenderer.material.mainTexture = m_EffectTexture[index];
index = index <= m_TextureListLength-1 ? index++ : 0;
}
}
利用脚本,说一个运算符:三元运算符。因为自己总记不牢,所以贴出来,以备使用和给予。
三元运算符是软件编程中的一个固定格式,语法是"条件表达式?表达式1:表达式2"。
说明:问号前面的位置是被判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。也相当于if....else....的快捷方式
原文:https://www.cnblogs.com/allyh/p/9038691.html