乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      如何:使用 Visual Basic 編寫基于 Unity3D 的計算器

       關(guān)不住的心 2017-01-23

      隨著 .NET 全平臺戰(zhàn)略的推進,微軟正在讓以 C# 為先鋒的 .NET 擁有跨平臺特性。這個過程中一直有人想知道其它 .NET 語言對跨平臺的支持有什么改進,熟悉 C# 但是喜歡用 VB 的我也不例外。

      經(jīng)過一番摸索,我找到了在 Unity3D 程序開發(fā)過程中用 VB 取代大部分情況下的 C# 腳本的方法。本文以用 VB 2017 編寫基于 Unity3D 的計算器為例展示如何在 Unity3D 中使用 VB。

       

      如何:使用 Visual Basic 編寫基于 Unity3D 的計算器

       

      預(yù)先條件:

      讀者需要知道怎樣用 C# 編寫基于 Unity3D 的計算器,并且知道如何用 Visual Basic 編寫 .NET Framework 3.5 類庫。

       

      1. 配置開發(fā)環(huán)境

      安裝 Unity3D 5.5, Visual Studio 2017 RC 和 Unity3D Tools for Visual Studio。

      如果你看到這個博客的時候有新版的開發(fā)環(huán)境,并且 Unity3D 官方?jīng)]有提供方便使用 VB 代碼的功能,仍然需要裝最新版的工具。

      Unity3D https:///cn/get-unity/update

      Visual Studio https://www./zh-hans/downloads/

      Visual Studio http://www.

       

      2. 用 Unity3D 設(shè)計用戶界面

      像用 C# 寫一樣,你需要新建一個 2D 項目,然后在自動創(chuàng)建的場景里面拖按鈕和標(biāo)簽控件組成計算器的視圖。

       

      3. 用 Visual Basic 編寫邏輯代碼

      在項目根目錄(Assets 之外那一層)附件鏈接中的項目模板新建一個 VB 類庫項目。

      我寫的項目模板有如下特點:

      * 默認(rèn)程序集名稱是 Assembly-VisualBasic,默認(rèn)命名空間是空的

      * 是 .NET Framework 3.5 的 VB 類庫。

      * 假設(shè) Unity3D 裝在 D盤,引用了相關(guān)的程序集。

      * 手動編輯了 .vbproj 文件,開啟了 VBRuntime Embed 編譯模式。這樣編譯出來的類庫可以正常地在 Mono 環(huán)境下執(zhí)行。

      * 輸出目錄改成了 Assets\Plugins ,方便 Unity3D 識別。

      * 編譯條件抄了 Assembly-CSharp 項目,只不過把 “;” 改成了 “,” 。

      我給出的模板已經(jīng)包含了一個不完整的計算器的 MonoBehavior 類, 還有計算器相關(guān)邏輯的兩個類。

      如果你打算自己編寫一個 MonoBehavior,請用附件鏈接中的項模板新建一個 VB 的 MonoBehavior 類。

      注意:MonoBehavior 的事件處理方法的簽名最好用下拉框自動生成(如圖所示)。這樣盡管 Unity3D Tools for Visual Studio 不支持 Visual Basic,也不會導(dǎo)致聲明錯誤的事件處理程序。

      這個下拉框自動生成事件處理程序的實現(xiàn)原理是在 .Designer.vb 里面預(yù)先定義可能要寫的事件處理程序的 Partial Private Sub 聲明。這些過程如果不給出有實際內(nèi)容的實現(xiàn),編譯的時候就不會被生成。這正好與 Unity3D Tools for Visual Studio 為 C# 所做的輸入輔助的實際行為一樣。

      在計算器的 MonoBehavior 中,你需要聲明表示計算器顯示器的公有字段(在示例中是 TblValue 字段),和需要讓按鈕關(guān)聯(lián)的無參公有的方法。每個按鈕都需要一個方法對應(yīng)它們的 Click 事件處理。

      至于計算器本身怎么實現(xiàn)計算功能,看附件鏈接。

      寫完了別忘記生成。

       

      4. 修改 C# 腳本

      這一步超級簡單。只要很短的時間就可以完成。

      1. 用 Visual Studio 打開 C# 腳本項目中的 Assembly-CSharp

      2. 添加 Assets\Plugins\Assembly-VisualBasic.dll 的引用

      3. 對于每一個用 VB 寫的 MonoBehavior ,新建一個 公有的 c# 類,并且繼承它。

      比如說,你用 VB 寫的是

      VB

      Public Class MainSceneBehaviorBase
          Inherits MonoBehaviour
           ' ...
      End Class

      對應(yīng)的 C# 類是:

      C#

      public class MainSceneBehavior : MainSceneBehaviorBase {}

      沒錯,C#只要寫一個空的類就可以。寫完生成一下。

       

      5. 關(guān)聯(lián)腳本與前臺代碼

      像用 C# 開發(fā)一樣,把繼承了 VB 的 MonoBehavior 那個類掛載到一個游戲?qū)ο笊厦妫ㄎ野阉鼟斓搅?Canvas 上面,因為寫計算器不需要針對 Canvas 編程),綁定腳本(VB 代碼)中定義的 Public 字段(計算器的顯示器),關(guān)聯(lián)每一個按鈕的 OnClick 事件到用 VB 寫的事件處理程序。

      關(guān)聯(lián)腳本和事件的操作與用 C# 寫的時候沒有任何區(qū)別。

      設(shè)計器可以借助 C# 腳本的繼承正確地識別用 VB 寫的 MonoBehavior 的成員。

       

      6. 生成并運行

      我用 Windows 10 的電腦和 Android 4.2 的手機進行了測試,計算器可以計算合理的表達式。

       

      附錄

      1. 項目源代碼

      https://github.com/Nukepayload2/Unity3DCalculatorVB/

      2. VB 項目模板

      https://github.com/Nukepayload2/Unity3DCalculatorVB/tree/master/Templates

      執(zhí)行 install.bat 會將模板文件復(fù)制到 Visual Studio 2017 的默認(rèn)模板目錄。如果你更改過模板目錄,請手動導(dǎo)入。

       

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多