向多个物体添加自定义脚本,一个一个拖拖得我头疼,然后就想办法写了个脚本,可以再运行的时候动态向物体添加组件
首先需要一个需要添加脚本的父物体,给所有的子物体添加脚本的方式是循环遍历所有的子物体,然后依次给所有的子物体添加上脚本,注意,添加完脚本的时候需要手动设置他的enable为false一次,然后在接下来的协程中在设置enable为true,否则的话该脚本不会触发enable方法,对下面手动添加的变量组件也就无效了。
具体的代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AddComponent : MonoBehaviour {
public GameObject go ; //给所有的子元素的物体添加一个脚本 该物体是所有元素的父元素
private int count; //计算所有子元素的个数
// Use this for initialization
void Start () {
count = go.transform.childCount; //获取所有子物体的个数
for (int i = 0; i < count; i++) {
//给所有的子物体添加上interavtive脚本
go.transform.GetChild(i).gameObject.AddComponent<Peter_InteractiveObj>();
//给所有的子元素添加objplay脚本
go.transform.GetChild(i).gameObject.AddComponent<Peter_ObjP