Unity指令碼之C 和Js的互相獲取與呼叫

2021-10-18 09:18:07 字數 663 閱讀 3423

關於這個js在unity2017已經棄用了,有不少的企業和專案依然在用使用像unity4.x和unity5.x等。

比如這些版本的專案就有不少用了ngui,而這些版本的ngui卻有著js指令碼,有時難免會用到,下面就和大家說下怎麼用(c#和js的互相獲取與呼叫),由於很簡單,本來想就不發了,但unity2017開始就已經棄用js,現在不發怕以後沒機會了。

工具:

unity5.5

vs2017

下面為了做演示,所以先建立乙個名為scriptjs的js指令碼,和乙個名為scriptcs的c#指令碼。

下面是通過獲取c#元件的方式以獲取c#指令碼:

//var cs = this.getcmponent("元件名");

var cs = this.getcmponent("scriptcs");

但,同樣的招式,在c#中卻有點問題,在c#中以獲取js元件的方式呼叫js指令碼,如下所示:

scriptjs js = (scriptjs)getcmponent("scriptjs");
上面這種方式t託掛和執行都沒問題,正常執行,unity也沒有錯誤提示,就是在vs中紅色波浪線提示」無法找到 scriptjs「。

js記憶體洩露之js物件和dom物件互相引用

該問題涉及到作用域鏈,js物件和dom物件互相引用的問題。因為對於匿名函式而言,其作用域鏈包含三個物件 匿名函式的變數物件 dotry 的變數物件和全域性變數物件。此時dotry函式物件中btn變數引用了dom物件,即dotry函式物件引用dom物件 然後根據匿名函式包括的物件,dom物件的oncl...

Unity3D開發之unity和js通訊互動

unity發布webplayer平台後會輸出html和unity3d檔案。我們的程式主要被打包在unity3d檔案裡,而html則是網頁的介面顯示。1.unity傳送訊息給js function getid id 在unity裡我們在start函式裡呼叫 使用瀏覽器開啟html檔案,就會出現如下彈窗...

JS和Jquery的物件互相轉換

這年頭都是jqueryui的天下了。當然要必會寫jquery 的東西。jquery物件與dom物件的轉換 只有jquery物件才能使用jquery定義的方法。注意dom物件和jquery物件是有區別的,呼叫方法時要注意操作的是dom物件還是jquery物件。普通的dom物件一般可以通過 轉換成jqu...