首先新建Canvas对象,新建子对象Image/Text,当然还有Button,点击Button,在右边面板修改按钮颜色(样式),下面ButtonScript里面修改按钮处于不同状态(正常/有鼠标经过/禁用/按下)的颜色。Button有一个子对象Text,就是按钮上的文字。修改文字大小内容等。回到Button对象,在Inspector面板中,下面有一个OnClick小面板,点击加号添加一个。然后添加按钮要处理的对象。比如添加了DirectionalLight.这个对象有很多公共方法供调用。在GameObject系列下面有一个SetActive,作为演示,添加这个方法。取消Bool参数的勾选。
添加好后,每次按下这个按钮,DirectionalLight都“不亮了”,同样的,我们也可以用按钮来作为动画的触发器。把带有Animator的对象拖上去,然后设置Function为SetTrigger(string),再输入Trigger变量的名称。把Controller对象拖上去,然后在Function里面就可以找到这个脚本了,选择自己写的SetLight函数就可以了。这样就使按钮运行了自己写的代码。
Unity3d中GameObject对象可以包括其他子GameObject,并且本身包括多个Component.
1.GameObject.Find("myObject") or FindGameObjectByTag will search the scene for an object called myObject.
2. transform.Find("myObject") will only search the game objects children for an object called myObject.
3.GetComponent用来获取组件。
Transform Find(String name) Transform FindChild(String name)
查找名为name的(transform.gameObject)直接子物体并返回该子物体的Transform属性。不能是孙子物体或更低辈分的子物体。
2.可以在name中使用字符'\' 遍历整个路径。其中路径的根必须是transform.gameObject的直接子物体,不能是孙子物体或更低辈分的子物体。
这样就可以访问到以transform.gameObject为根的物体树,包括其子物体,孙子物体,曾孙物体。。。。
若Cube物体有一个直接子物体Cube1,Cube1有一个直接子物体Cube2,我们就可以在Cube的脚本中使用transform.Find("Cube1/Cube2")
或transform.FindChild("Cube1/Cube2")
这样就直接访问到了transform.gameObject的孙子物体Cube2。
首先我们打开unity3d场景。
在左边存放物体对象的区域右键 Create Empty。
然后我们会得到一个GameObject空对象。
选择这个对象后我们发现,只有一个坐标。
现在我们随便创建一个Cube物体,并选择它。
接着在菜单上选择 GameObject--Create Empty Child。
现在就可以给这个cube上添加一个空物体,cube移动到哪里空物体就在哪里,我们可以在空物体上放一些声音等资源文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)