Unity_一个脚本控制多个物体

目录

  • 一、问题
  • 二、思路
  • 二、实现
  • 三、总结


一、问题

如果场景中有多个物体的时候,希望通过一个脚本就能够控制所有物体。

上两张聊天请教截图:
Unity_一个脚本控制多个物体_第1张图片
Unity_一个脚本控制多个物体_第2张图片


二、思路

设置一个变量,将脚本设计为一个接口。点击物体改变变量的值,根据变量不同的值进行不同的操作。


二、实现

往场景中拖放三个Cube
Unity_一个脚本控制多个物体_第3张图片

新建脚本Control.cs

脚本代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour {
     

    public GameObject[] myObjects;

    public int m_IntTemp;

	// Use this for initialization
	void Start () {
     
		
	}
	
	// Update is called once per frame
	void Update () {
     
        if (Input.GetMouseButton(0))
        {
     
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit))
            {
     
                switch (hit.collider.gameObject.name)
                {
     
                    case "Cube":
                        m_IntTemp = 0;
                        myObjects[0].transform.Rotate(new Vector3(0, 10, 0));
                        break;
                    case "Cube2":
                        m_IntTemp = 1;
                        myObjects[1].transform.Rotate(new Vector3(0, 10, 0));
                        break;
                    case "Cube3":
                        m_IntTemp = 2;
                        myObjects[2].transform.Rotate(new Vector3(0, 10, 0));
                        break;
                }
            }
        }
	}
}

将脚本挂接在相机上
Unity_一个脚本控制多个物体_第4张图片


三、总结

实现点击谁谁旋转的功能,可以以此为思路进行拓展应用。


你可能感兴趣的:(Unity,unity,脚本语言,c#,arraylist)