日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

unity 关闭自己脚本_unity中使用代码控制脚本的开启和关闭 enabled

發布時間:2024/9/19 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。