Unity3D 简单而实用的小代码(1)

(1)找到脚本 删除脚本

if(gameObject.GetComponent())
            {
                Destroy(gameObject.GetComponent());
            }

(2)生成Perfabs

public GameObject Perfabs;

Object prefab = PrefabUtility.CreateEmptyPrefab("Assets/预制体.prefab");  
        PrefabUtility.ReplacePrefab(Perfabs,prefab,ReplacePrefabOptions.ConnectToPrefab); 

(3)查找Tag

 GameObject[] GG= GameObject.FindGameObjectsWithTag("Tag");

(4)添加脚本

if(!gameObject.GetComponent<添加脚本名字>())
        {
            gameObject.AddComponent<添加脚本名字>();
        }

(5)提高IOS的fps上限

提示:ios默认的fps上限是30,在第一个界面任何物体加上

void Awake()
{
    Application.targetFrameRate = 60;
}

(6)在场景切换时必要保存的对象

MyObject = FindMyObjectInScene();
  
if (MyObjet == null)
{
   MyObject = SpawnMyObject();
}

(7)为Invoke, StartCoroutine and Instantiate 定义安全调用方法

提示:定义一个委托任务(delegate Task),用它来定义需要调用的方法,而不要使用字符串属性方法名称。

public void Invoke(Task task, float time)
{
   Invoke(task.Method.Name, time);
}

(8)使用扩展来让代码书写更便捷

public static class CSTransform 
{
  public static void SetX(this Transform transform, float x)
  {
    Vector3 newPosition =
      new Vector3(x, transform.position.y, transform.position.z);
  
    transform.position = newPosition;
  }
  ...
}

(9)修改shader

GetComponent().material.SetFloat("_WaveScale", 0.5f);

(10)调整相机效果脚本

Cam.GetComponent().focalZDistance = focalDistance;

以后我每周都会把我遇见的,用到的实用小代码整理一下分享给大家 !

你可能感兴趣的:(Unity3D 简单而实用的小代码(1))