unity 关闭自己脚本_unity中使用代码控制脚本的开启和关闭 enabled
生活随笔
收集整理的這篇文章主要介紹了
unity 关闭自己脚本_unity中使用代码控制脚本的开启和关闭 enabled
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學習中遇到了使用enabled 來控制腳本的開關,中間遇到了一些問題,記錄一下,以便遇到類似問題的新手同學少走彎路。
在想使用代碼控制腳本的開啟和關閉的時候,網上搜索到的解決方案是這樣的:
GameObject.Find("ObjectName").GetComponent<scriptName>().enabled=true/false;剛看到這個公式的時候一臉的懵逼,我主要糾結的是scriptName 是什么?之前做過控制燈光的開關,想了很久不知道這個地方該填寫那種類型的參數,后來想想,控制燈光的時候這里天的是燈光的組件 Light。那我掛的腳本呢?應該填什么呢?(基礎不到導致的問題)
下面是問題的解答:
首先:Unity中物體上有很多組件,腳本也相當于是一個組件,不過新手常常認為組件只是系統自帶的那些,其實自己掛的腳本也是組件的一種。比如下圖中所框選的,enabled是控制這里的勾選狀態的。所以想通過腳本控制自己或者他人寫的另一個腳本的參數,scriptName = 腳本名。補充:ObjectName = 腳本所掛物體的名稱,比如下圖為:Directional Light
代碼:
using System.Collections; using System.Collections.Generic; using UnityEngine;public class LightEnabled : MonoBehaviour {private Light mylight;private Test03 scri;// Start is called before the first frame updatevoid Start(){mylight = GetComponent<Light>();scri = GetComponent<Test03>();}// Update is called once per framevoid Update(){if (Input.GetKeyUp(KeyCode.Space)){//mylight.enabled = false;//關閉腳本,這里是關閉燈光,燈光類似于組件前面勾選狀態控制mylight.enabled = !mylight.enabled;//!的意思是 前面的值取反當為true時候結果為falsescri.enabled = !scri.enabled;//腳本開關狀態切換//GameObject.Find("Directional Light").GetComponent<Test03>().enabled = !GameObject.Find("Directional Light").GetComponent<Test03>().enabled;隱藏腳本第二種寫法}} }總結
以上是生活随笔為你收集整理的unity 关闭自己脚本_unity中使用代码控制脚本的开启和关闭 enabled的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米公布双11终极战报 224亿创历年大
- 下一篇: 京东11.11:成交额、订单量等创新高,