新建项目默认生成的文件夹
- Assets里面存放的是项目所需要的所有的资源
- Libray里面存放的是所需要的库文件
- ProjectSettings里面存放的是工程设置文件
- Temp里面存放的临时文件
一个工程里面有多个场景,一个场景中有多个游戏对象,每个游戏对象又有多个游戏组件
Inspector视图下:
1. Mesh Filter 网格过滤器,用来是否显示物体的网格
2. Transform组件,决定物体的位置,旋转和缩放
3. Box Collider盒型碰撞器,用于做碰撞检测
4. Mesh Renderer网格渲染器,可以给物体添加材质,纹理以及渲染的方式
脚本组件
- 脚本也是一种特殊的组件
创建脚本,在脚本中设置公共字段作为组件的属性,在脚本中通过方法获取游戏对象和组件
using UnityEngine;
using System.Collections;
// 如果我们的脚本需要挂载到游戏对象身上,就需要继承于MonoBehaviour
public class Test : MonoBehaviour {
public int age;
public string name;
public void Log() {
Debug.Log(name + age);
}
void Start () {
// gameObject 表示当前脚本组件所挂载的游戏对象
// unity中输出到控制台使用print 或者 Debug.Log
//print("Test 脚本挂载到了" + gameObject.name + "的身上");
// 每个游戏对象身上,都至少有一个组件,叫做 Transform
// transform 表示当前游戏对象身上的Transform 组件
//Debug.Log(transform.position.x); // 获取游戏对象的X坐标
}
void Update () {
}
}
通过当前的游戏对象的Demo组件调用自身的Test组件:
using UnityEngine;
using System.Collections;
public class Demo : MonoBehaviour {
// Use this for initialization
void Start () {
// GameObject的方法 GetComponent 能够获取当前游对象身上指定的类型的组件对象
Test t = GetComponent<Test>(); // 获取当前游戏对象的Test组件
t.age = 24;
t.name = "老张";
t.Log();
}
// Update is called once per frame
void Update () {
}
}
*AAA游戏对象通过调用自身的Demo组件去调用自身的另一个组件Test;并且修改了属性age && name
老王 18 -> 老张 24*