反射:一个运行的程序查看本身或者其它程序的元数据的行为
场景中对象的本质GameObject:不管是图片,模型,音效,摄像机等都依附于GameObject对象
也就是说
红框选的场景上所有物体的本质都是GameObject的
Transform的本质:
是用一个Transform类对象和GameObject类对象进行关联
用于设置 和得到物体在世界中的位置角度缩放等信息
物体添加c#脚本这个过程:
是利用反射new一个新的剧本对象和物体GameObject对象进行关联,
让其按我们的命令做事
unity已经实现了对象查找和关联:
1.修改Inspector面板中Transform的内容,
利用反射:已知对象,类名,变量名,通过反射为该对象设置变量值
2.新建一个脚本后,添加给一个指定的GameObject对象
利用反射:已知类名,可以获取所有公共成员,所以可以在Inspector面板上创建各公共字段信息
接下来我们新建场景
进行保存
设置场景2换物体颜色
首先创建一个材质球文件夹
创建材质球
然后拖动到物体上后对各个物体打乱一下位置,再放大一下平面Plane的x,z轴
接下来我们做一下场景物体复制:
就是将一个场景的物体copy到另一个场景上
首先将两个场景都拖拽到Hierarchy上
然后删除场景2
解释:当两个场景一起出现时 会重叠 这样复制后场景在删除就在新场景中copy了被copy场景物体
此时场景1
场景2
场景的本质就是配置文件
我们可以点击
会弹出
我们可以用记事本打开这个.unity场景
打开之后我们就可以看出就是用代码写的配置文件
况且我们看这里面的代码往最下面翻 是可以看的懂的
游戏场景的本质:是一个配置游戏场景文件 后缀为.unity
另一种说法就是:获取场景对象信息 通过反射创建各个对象关联的各个脚本对象