Unity学习笔记5 unity的js转c#
上一篇已經說過,unity的js是一種變種的js,和真正的js還是有區別的,所以有時候會給人一種有點不倫不類的感覺……如果對于完全沒有編程基礎的人來說,建議一開始就直接學c#吧,不要浪費時間去學js。但是有個很蛋疼的問題擺在我們的面前。那就是有很多unity的教程是用js寫的,比如我看過的超級瑪麗系列,很喜歡(為此我花了一個多星期的時間去啃下了一本js基礎的書,有了一點點js的基礎。)但是對于初學者來說,一次性學兩種語言很不現實啊。如果可以把js轉成c#或者把c#轉成js那不就好了?把c#轉成js是不太可能的,因為c#要比js復雜,而且絕對比unity版的js復雜,除非c#寫得比較簡單,那還是有可能的。但是反過來說,要把js轉成c#還是可能的。但是轉換過程可能會出現一些變量的報錯什么的,但這個并不是什么大問題,因為我們的VS的智能程度要比mono高出很多,利用它的報錯功能,我們完全可以將js轉成c#之后,再利用報錯和調試,把js腳本修改成我們喜歡的c#。
首先上一個在線的轉換網站,是個外網,有可能比較難訪問,而且我也不知道這個外網是不是會一直經營下去,所以這個不是終極解決方案,先看看吧:
http://www.m2h.nl/files/js_to_c.php
順便截個圖給大家看看界面:
好了,接著我們來看看離線的,我已經把東西上傳到自己的資源里面了:http://download.csdn.net/detail/sinolzeng/7280207
接著我再轉載一個教程:原鏈接http://game.ceeger.com/forum/read.php?tid=4781;fpage=3
我怕有些鏈接以后會打不開。所以如果我覺得內容比較重要的話,我會把內容復制到我的博客里面。(CSDN社區這么強大,應該不至于掛掉吧?)至于unity圣典社區的一個帖子,還能維持多長時間就比較不好說了,下面是昵稱為野豬的大大寫的教程,感謝大大:
野豬已經好久沒有寫東西與大家分享了。最近遇到了些事情,曾一度的讓野豬先生失去信心分享他的學習過程與學習的經驗分享。在這里,野豬只想說一句,我們要對那些幫助我們的人給予感激感恩之心,不對他感激也就罷了,就不要在背后說人家的壞話了。畢竟他曾是你學習道路上的朋友。嘿嘿。小小的嘮叨下,知情的朋友都替野豬感覺到不公平撒!罷了。繼續野豬先生的分享之路吧,將知識分享到底。最近朋友分享給我了很多插件,感覺很有用,在工作之余就進行了測試和動手做下小筆記吧!
在本教程中呢,野豬先生不會在為大家截圖來講解插件的具體使用了,但是不會改變野豬先生一貫的作風,野豬還是會給大家盡量的講解他自己對這些插件的使用的心得和一些經驗分享。
首先呢,我們先講解一下JS To C#這個插件,你可以去商店里購買。這個對于那些熟悉c#語法,但是對js不太熟悉的朋友,或者是習慣了使用C#編碼的人,但是其他插件里面使用的是js編寫的,或者是別人分享的一個不錯的腳本,你想用到自己的項目中,但是你使用的是c#,這個時候你想把JS的改成C#的腳本。他就排上用場了。當然你也可以手動的敲寫成c#的,但是一般來說會浪費很多時間。利用這個工具我們就可以快速的轉換JS的腳本成為C#的腳本。當然查看這個轉換插件你也可以知道,作者說他并不確保每次的轉換都是有效的。也就是說,會有些地方需要你手動進行修改。目前我測試的版本,他的轉換方法都是轉換為void類型的。但是腳本中可能有的帶有返回值,這個時候,你需要手動的進行修改為你需要的。還有地方需要注意的就是你需要手動給方法名加上public。因為他的轉換默認是不帶有這個訪問修飾符的。那就意味著類里面的方法就是私有的了。這個是C#語法的限制了。稍微提示下,C#語法中不手動寫上public或者其他訪問修飾符,默認情況下是private。所以找個地方會讓很多不熟悉c#語法的朋友陷入一個小困境。下面,我們繼續講解如何使用找個插件。方法其實很簡單。大體如下:
1. ? ?新建一個空的project,導入我們使用的這個插件JS To C#。在項目可以看到如圖的內容:
然后選擇我們需要轉換的腳本文件,單擊菜單中的Tools-?下面的轉換js到c#代碼。這樣轉換就已經完成。我們需要做的就是刪掉原有的js腳本。這樣是因為項目中不能有重名的腳本文件。
2.在完成1之后,打開腳本可能會發現很多錯誤。這個時候,我們需要做的就是把這些錯誤,在編輯器中給修改掉。在u3d的輸出面板中不再有紅色的錯誤提示的時候。項目已經轉換并修改成功了!window下的朋友,建議使用微軟的vs作為u3d的編輯器,因為他有很多不錯的優點例如他優秀的智能提示,C#語法的智能驗證等等,但是在u3d的使用中需要注意的一些地方可以查看u3d的官方文檔說明,或者是看圣典上由野豬先生翻譯的用戶手冊部分的Visual Studio C#繼承。地址:http://game.ceeger.com/Manual/VisualStudioIntegration.html。
看完上面的這些你可以具體的轉換個腳本看看效果了!
下面野豬先生要講解的就是easytouch這個插件了。這個插件的優點很多,他可以使用戶很快的上手去處理ios,android,ipad等設備上的手指滑動,單擊,雙擊等的操作。這個插件里面的很多操作都是可以擴展的。具體的要看自己的需要進行修改了。由于野豬先生一直都是在使用C#,所以看到這個插件之后有點不爽,沒有找到c#版的。只好自己手動的敲寫了一遍,主要是因為野豬先生要熟悉他里面的一些機制和一些對手勢的判斷方法等等吧!用了一上午的時間弄完了這個插件的c#版本,運行之后發現,效果沒有出來,后來才發現,是在腳本的某個角落里,野豬寫錯了一行參數的單詞拼寫。有點無語。呵呵。但是還好解決了!
下面給大家一個快速的方法去把js版本的插件腳本,修改成為C#版本的。
利用前面野豬先生提到的JS To C#插件,選擇easytouch里面的腳本轉換為C#,方法參考上文。轉換之后,野豬發現很多錯誤啊。不過這些錯誤修改起來就很快解決的。因為咱們有用一個不錯的編輯器微軟的vs studio。利用u3d輸出面板提示的錯誤結合vs,三下五除二很快的就解決掉了轉換后的哪些錯誤。但是野豬有點喜歡整潔美感。利用vs的縮進功能進行腳本的排版,ok!下面沒有錯誤了,開始我們的動手學習之旅吧。
在easytouch插件1.0中,只有核心的4個腳本文件,一個是處理所有處理信息的腳本叫做easytouch,這個腳本要給主攝像機,或者是場景中一個空的物體上。另一個是EasyTouchInput可以使我們這些窮b的人使用鼠標按鈕和鍵盤的ctrl,alt鍵的組合來模擬手指滑動,觸摸單擊,雙擊,長按等的操作。這個很給力。接著就是EasyTouchTemplate腳本,這個里面給我們提供了很多參考的事件方法模板。我們在項目需要參考使用的模板。最后一個就是EsayTouchS***ct,里面枚舉了,我們經常使用的手勢。根據這些手勢,我們進行相應的操作。
基本上這個easytouch 1.0核心的腳本就是這幾個。他是基于sendmessge()方法進行對象之間消息傳遞的。這個算是他的通訊機制啦!
下面簡單的提下,如何使用他的例子。這個也是野豬先生經常使用的方式。
首先,查看例子的效果。對這個插件可以提供的功能可以實現的效果。
接著,看看各個部分的大體關系。
再就是刪除例子中的腳本,自己動手來搞一遍。嘿嘿,差不多ok!
先上手了,再去花些時間研究他,深深的愛上他,成為自己的一部分。是專屬你個人的。
本教程,只是野豬先生的一點理解。如有任何疑問,可以和野豬先生一塊交流,共同進步。
好啦,這篇博客就整理到這里。希望大家喜歡。
總結
以上是生活随笔為你收集整理的Unity学习笔记5 unity的js转c#的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity学习笔记4 更换编辑器为VS2
- 下一篇: jquery clone 与 clone