當前位置:首頁 » 網頁前端 » u3d怎麼設置腳本函數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

u3d怎麼設置腳本函數

發布時間: 2022-02-24 13:24:09

1. unity3d的c#腳本要如何調用其他腳本中函數

假設你有一個對象A,掛有腳本 AComponent,對象B掛有腳本BComponent。如果要讓BComponent調用A的腳本可以這么寫

class BComponent:MonoBehaviour
{
public AComponent acomponent;

void Foo() {
acomponent.Call();

}

}把變數設為public,然後在B裡面調用。
可以百jjop度搜:編.程.回.憶.錄.之.unity3d,專業為你講解。
class AComponent : MonoBehaviour {
public int somevalue;

}

class BComponent : MonoBehaviour {
public AComponent acomponent;

void Foo() {

Debug.Log(acomponent.somevalue);
}

}

2. unity中怎樣調用其他腳本變數

調用其他實例的腳本是一種很常用的需求,在Unity3D中實現起來也有多種方法,假設在ScriptB有一個DoSomething函數,如下所示:
using UnityEngine;
public class ScriptB : MonoBehaviour {
public void DoSomething() {
Debug.Log("Hi there");
}
}
在ScriptA中如果要訪問某個GameObject的ScriptB腳本中的DoSomething函數:
using UnityEngine;
public class ScriptA : MonoBehaviour {
public ScriptB other;
void Update() {
other.DoSomething();
}
}
注意ScriptA有一個ScriptB類型的公共變數,這是一個絕妙的小技巧,如此一來你便可以通過編輯器拖拽任何含有ScriptB這一腳本的GameObject至該變數上(因為是public的,所以暴露於編輯器界面中),Unity會自動識別你需要賦值的不是那個GameObject,而是它所包含的ScriptB腳本。
除此之外,如果你不喜歡這種在編輯器中直接賦值的辦法,你可以通過GameObject.Find(「somename」) 來獲取GameObject:
GameObject go = GameObject.Find("somegameobjectname");
ScriptB other = (ScriptB) go.GetComponent(typeof(ScriptB));
other.DoSomething();
不過需要注意的是GameObject.Find()的執行效率非常低,所以如果可能的話還是盡可能使用「直接賦值法」吧

3. UNITY怎麼每秒向另一個腳本發自定義函數的命令

InvokeRepeating (方法名: string, 延遲時間 : float, 每次調用的時間間隔 : float)
該方法請寫在start方法中

4. Unity3D如何調用另外一個腳本里的函數呢

可以將函數聲明為共有靜態函數。

5. Unity3d里如何添加腳本

  1. Unity支持三種匯編語言,分別是JS、c#和Boo。創建腳本的方法主要有三種,首先啟動Unity,單機菜單欄中的Assets->Create來添加腳本。

  2. 第二種是啟動Unity後,單擊Project視圖中的Create按鈕創建腳本。

  3. 啟動Unity應用程序,在Project視圖中的assets文件夾內通過右擊彈出的

    列表框創建腳本。

  4. 添加完腳本後就可以在Project視圖中看到。

  5. 雙擊腳本文件就可以將其打開進行編輯。

6. unity3D我想把多個點擊事件寫在一個腳本里。就是用void OnMouseDown那個函數。該怎麼寫啊,,新人求助

如果是用的NGUI建議用uieventlistener來做,uieventlistener.get(GameObject 按鈕).onClick+=myClick; void myClick(Gameobject go){switch(go.name){case "名字":
case "名字"………………}}這樣就可以把點擊事件全寫在myClick方法里了,不過按鈕的名字不能重復了

7. unity3d中一個腳本怎麼調用其它腳本的函數呀

假設你有一個對象A,掛有腳本 AComponent,對象B掛有腳本BComponent。如果要讓BComponent調用A的腳本可以這么寫

class BComponent:MonoBehaviour
{
public AComponent acomponent;

void Foo() {
acomponent.Call();

}

}

在編輯器里把A拖到B對象的BComponent的acomponent上

8. unity 如何自定義腳本初始化

你可以來unity中新建一個腳本,這個腳本會自動繼承MonoBehavior的類,在這個類型有幾個重載的初始化函數OnEnable Awake Start 一般我都會在Awake中進行初始化,如果是耗時的操作那麼在Start中初始化最好。

9. unity3d中,一個C#腳本要引用另外一個c#腳本中的某個函數,請問代碼怎麼寫

如果是庫類,則類似一般的.net程序直接實例化然後使用該函數。
如果是綁定在其他游戲對象上的腳本,
則使用GameObject.find("游戲對象名").getcomponent<腳本名>().方法名();

10. unity3d的c#腳本如何調用其他腳本中函數

1、 類名+空格+變數名= (類名)GameObject.Find("類名").GetComponent("類名");
Debug.log(類名.變數名);

2、不知道你要全局變數有什麼用,但你可以把變數存入緩存,用的時候再取,通常這種東西會用在場景切換。 PlayerPrefs.SetString()以及PlayerPrefs.GetString() 也許可以實現你的需求

3、screen.width是屏幕寬度,screen.height是屏幕高度,你自己算一下就可以了