unity工程
工程的文件夹里有4个子文件夹。
Assets | 资源文件夹 |
Library | 用到的库文件 |
ProjectSettings | 设置文件 |
Temp | 临时文件 |
组件的属性
碰撞,位置,缩放,纹理,脚本等。
认识游戏中的C#
给组件添加名称为 GO 的c#脚本。再添加第二个名字叫 GO2 的c#脚本。
代码和函数功能如下
Go中:
using UnityEngine;
using System.Collections;
public class GO : MonoBehaviour {
//挂在到游戏对象上的脚本要继承于MonoBehaviout
public int gongjili = 0;//要在unity中修改age,则需要加上 public。
public string favouritething = "本次攻击力为: ";
public void function1()
{
print(favouritething + gongjili);
}
void Start () {
//gameObject 获取所挂载的组建,后面加点可显示具体函数。
//print(""); 输出到控制台
print("游戏开发协会培训\n");
print("这个脚本挂载到了 " + gameObject.name + " 身上。\n");
//transform 表示方位属性。子类有position等很多。
print(gameObject.name +" 的x轴坐标为 "+transform.position.x);
favouritething = "攻击力增加为: ";
for(int i=1;i<=10;i++)
{
print(favouritething+gongjili);
gongjili++;
}
}
// Update is called once per frame
void Update () {
}
}
using UnityEngine;
using System.Collections;
public class GO2 : MonoBehaviour {
//继承于 MonoBehaviour 的类都叫做运行时类。运行时类只在unity运行时创建。不可以用 new 手动创建。
void Start () {
GO temp= GetComponent<GO>();//GetComponent<>();获取组建
temp.gongjili = 100;
temp.function();
}
void Update () {
}
}
MonoBehaviour中的C#的一些知识
void Awake(){};脚本被唤醒时调用的方法。一般用于做初始化操作。常常初始化public。
void OnEnable(){}每一次;激活脚本时候使用的方法。如计时器等。发射子弹等。
void Strat(){}:调用Update之前首先调用的方法。且在一个脚本生命内仅执行一次。常常初始化私有的成员。
void Update(){}更新时运行的方法。每帧调用一次。每秒60帧左右就不会感觉卡顿。
void LateUpdate(){} Update调用后调用。一般刷新完画面调用。如人物死亡,调用血量为0等。
void OnDisable(){}激活结束时调用。如怪物有10条命,死一次调用一次。
void OnDestroy(){}脚本彻底销毁时候调用的方法。例如,怪物彻底死亡后,爆出装备等。
void OnGUI(){}运行时调用的方法。(IMGUI代码写的地方)
void FixedUpdate(){};固定频率调用的方法。如人物中毒每秒减少血量等。与图像刷新帧无关,可以减少卡顿。
还有其他不常用方法。
方法的一般执行顺序
Awake,OnEnable,Start,Update,LateUpdate,OnDisable,OnDestroy。
唤醒,激活,开始,更新,第二更新,取消激活,销毁。
Library
ProjectSettings