16410人加入学习
(115人评价)
Unity中级案例 - 捕鱼达人(Unity5.6.4)

制作于2017.12.14

价格 免费

实例:unity延时方法Invoke和InvokeRepeating
Invoke(methodName: string, time: float): void;
methodName: 方法名
time:多少秒后执行

InvokeRepeating(methodName: string, time: float, repeatRate: float): void;
methodName: 方法名
time:多少秒后执行
repeatRate:重复执行间隔

 还有两个重要的方法:
 sInvoking:用来判断某方法是否被延时,即将执行
 CancelInvoke:取消该脚本上的所有延时方法

[展开全文]

  InvokeRepeating: 重复调用方法名为传进去字符串参数的方法,在指定的时间间隔后按一定的速率(秒)调用

[展开全文]

循环取数,1到7,每次循环+1,超过7时重新变为1

int n;

InvokeReprating("OneToSeven",0,0.1f);

   void OneToSeven()

{

   n=(n+1)%7;

[展开全文]

学到了,index = (index+1)%textures.Length这句很简洁,之前我都是if和else判断

[展开全文]

一个meaterial 材质,本身就是一个图片+shader合成的过程。

[展开全文]

把水波纹的碰撞框组件移除

建立水波纹数组

获取水波纹的材质球

获取材质球组件

 

[展开全文]

主场景

创建一个平面(是单面显示的 把它对着摄像机)旋转x-90  覆盖大小  去掉碰撞器 拖上材质资源

特效脚本

切换材质球图片 数组法 直接调主材质 数组索引取模轮回法来设置上限 InvokeRepeating代替update 每隔0.1f

[展开全文]

public class Ef_WaterWave : MonoBehaviour
{
    public Texture[] textures;
    private Material material;
    void Start()
    {
        material = GetComponent<MeshRenderer>().material;
        InvokeRepeating("ChangeTexture", 0, 0.1F);
    }

    void ChangeTexture()
    {
        material.mainTexture = textures[index];
        index = (index + 1) % textures.Length;

    }
}
//index 这段不存在,不能运行;

[展开全文]

授课教师

SiKi学院讲师

课程特色

图文(1)
视频(41)
下载资料(1)