视频教程:
Unity3D 开发技巧分享,你可能不知道的小知识
Unity中文课堂教程地址:
Unity3D开发-你可能不知道的知识 | Unity 中文课堂
Start 函数可以用协程
默认协同函数 Start 可将 void 改为IEnumerator 作为协程启动
cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class StartTimer : MonoBehaviour
{
private IEnumerator Start()
{
Debug.Log("Step1 :" + Time.time);
yield return null;
//一帧之后做一些事情
Debug.Log("Step2 :"+Time.time);
yield return new WaitForSeconds(1f);
//延迟之后做一些事情
Debug.Log("Step3 :" + Time.time);
}
}
Inspector面板 显示私有属性
私有属性为灰色,运行时按下alt
键时 显示脚本中命名
使用 Properties 面板
脚本右键 选择Properties
Inspector面板 显示自定义脚本属性
属性前加入 [field: SerializeField]
以上方法依然适用于接口
创建接口IDanageable
cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public interface IDanageable
{
float MaxHealth { get; set; }
float CurrentHealth { get; set; }
void Damage(float danageAmount);
void Die();
}
实现接口,想要显示的属性标记 [field :SerializeField ]
cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Enemy : MonoBehaviour,IDanageable
{
[field :SerializeField ]
public float MaxHealth { get; set; }
public float CurrentHealth { get; set ; }
public void Damage(float danageAmount)
{
}
public void Die()
{
}
}
脚本属性面板显示HDR
默认声明的 Color 是不能使用HDR
cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ColorStuff : MonoBehaviour
{
[ColorUsage(true,true)]
[SerializeField]
private Color _SpriteColor;
}
属性前加 [ColorUsage(true,true)]
快速删除Inspector 组件的属性
点击属性后 按下键盘退格键可变为null
Inspector面板可进行数学运算
Alt +鼠标左键可快速最大化最小话窗口
代码添加注释
cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SummaryScript : MonoBehaviour
{
/// <summary>
/// 函数注释
/// </summary>
public void Function(){ }
/// <summary>
/// 函数注释
/// 函数注释2
/// </summary>
/// <param name="data">数据1</param>
/// <param name="data2">数据2</param>
public void Function(string data,float data2) {}
}
函数前输入///后 输入注释 ,其余脚本调用时可查看
cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ScriptToCallFunction : MonoBehaviour
{
private SummaryScript _summaryScript;
private void Start()
{
_summaryScript = GetComponent<SummaryScript>();
_summaryScript.Function();
}
}
使用 #region #endregion 折叠代码
cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SummaryScript : MonoBehaviour
{
/// <summary>
/// 函数注释
/// </summary>
public void Function(){ }
#region 折叠的注释
/// <summary>
/// 函数注释
/// 函数注释2
/// </summary>
/// <param name="data">数据1</param>
/// <param name="data2">数据2</param>
#endregion
public void Function(string data,float data2) {}
}
代码批量修改
按下键盘Alt键+鼠标左键和进行批量选择
按下 Shift + ALT键 鼠标点击开头和结尾也可批量操作
键盘 ALT +Ctrl+鼠标左键可控制不同垂直位置的光标
使用 ?. 可代替 !=null
创建物体时默认坐标归零
Edit -> Preferences -> Scene Wiew ->Create Objects at Origin
以固定定距离移动物体
设置固定移动量
按下Ctrl +Shift 点击物体的轴可以固定距离移动