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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unity调用Window提示框Yes/No(英文提示窗)

發(fā)布時(shí)間:2023/12/14 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity调用Window提示框Yes/No(英文提示窗) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Unity調(diào)用Windows彈提示框


本文提供全流程,中文翻譯。

Chinar 堅(jiān)持將簡(jiǎn)單的生活方式,帶給世人!

(擁有更好的閱讀體驗(yàn) —— 高分辨率用戶請(qǐng)根據(jù)需求調(diào)整網(wǎng)頁縮放比例)



Chinar —— 心分享、心創(chuàng)新!

助力實(shí)現(xiàn) Unity 開發(fā)的 PC 端項(xiàng)目,實(shí)現(xiàn) Windows 內(nèi)置彈窗

為新手節(jié)省寶貴的時(shí)間,避免采坑!


Chinar 教程效果:


  • 1
    • Hint Frame —— 提示框
  • 2
    • Import Project —— 導(dǎo)入文件到 Unity 項(xiàng)目中
  • 3
    • Scripts —— 腳本
  • 4
    • Summarize —— 總結(jié)
  • 支持
    • May Be —— 搞開發(fā),總有一天要做的事!


全文高清圖片,點(diǎn)擊即可放大觀看 (很多人竟然不知道)


1

Hint Frame —— 提示框


Chinar 在全網(wǎng)搜索了許多資料,發(fā)現(xiàn)在于 Windows 的交互上很多都是空白的

而且大多數(shù),都是描述不清。許多大神們也都沒把實(shí)現(xiàn)流程寫完全,導(dǎo)致明明比較簡(jiǎn)單的東西,新手非常難理解

那么 Chinar 在這里就做個(gè)總結(jié),很簡(jiǎn)的實(shí)現(xiàn)彈框,大神們見笑!


在開發(fā) PC 端項(xiàng)目時(shí),有時(shí)我們需要提醒用戶進(jìn)行相關(guān)操作 / 提示用戶下一步該如何操作

那么我們就需要與 Windows 進(jìn)行交互,來告訴 Windows 彈個(gè)框出來

去提醒用戶,確認(rèn)/取消 是/否

這里我們可以調(diào)用 System.Windows.Forms.dll 外部庫,很簡(jiǎn)單的就可以實(shí)現(xiàn)


2

Import Project —— 導(dǎo)入文件到 Unity 項(xiàng)目中


點(diǎn)擊下載 System.Windows.Forms.dll

Chinar 免費(fèi)下載 System.Windows.Forms.dll

下載后將文件拖到 Unity 項(xiàng)目中

注意:

由于 Unity的機(jī)制 ,一定要新建一個(gè)空文件夾“Plugins”

System.Windows.Forms.dll 文件放到該文件夾下才行



3

Scripts —— 腳本


為了方便大家看到效果,我搭建了一個(gè)簡(jiǎn)單的UI,把所有彈框的效果都一一列舉

層次列表與UI結(jié)構(gòu)如下:

很簡(jiǎn)單,我們創(chuàng)建一個(gè)腳本 ChinarWindowsMessage 掛載空物體上

用來引用外部庫,調(diào)用庫中的函數(shù)來實(shí)現(xiàn)彈框

9 個(gè) Button 對(duì)應(yīng)添加到數(shù)組中

using MsgBoxBase = System.Windows.Forms.MessageBox; //引用命名空間下消息類 using WinForms = System.Windows.Forms; //引用命名空間/// <summary> /// Windows消息框 /// </summary> public class ChinarWindowsMessage : MonoBehaviour {public Button[] Buttons; //按鈕組private void Start(){for (int i = 0; i < Buttons.Length; i++) //動(dòng)態(tài)綁定事件{var i1 = i;Buttons[i].onClick.AddListener(() => Button(i1));}}/// <summary>/// 9個(gè)按鈕對(duì)應(yīng)彈框/// </summary>/// <param name="index"></param>private void Button(int index){switch (index){case 0://Asterisk:包含一個(gè)符號(hào),該符號(hào)在圓圈中包含小寫字母 i。//OK:OK按鈕MsgBoxBase.Show("Chinar,OK按鈕,燈泡圖標(biāo)", GetType().Name, WinForms.MessageBoxButtons.OK, WinForms.MessageBoxIcon.Asterisk);break;case 1://Error:包含一個(gè)符號(hào),該符號(hào)包含一個(gè)紅色背景圓圈,圓圈中為白色 X 符號(hào)。//AbortRetryIgnore:包含中止、 重試和忽略按鈕。MsgBoxBase.Show("Chinar,中止|重試|忽略,錯(cuò)誤圖標(biāo)", GetType().Name, WinForms.MessageBoxButtons.AbortRetryIgnore, WinForms.MessageBoxIcon.Error);break;case 2://Exclamation:包含一個(gè)符號(hào),該符號(hào)包含一個(gè)黃色背景三角形,三角形中為感嘆號(hào)。//OKCancel:中包含確定和取消按鈕。MsgBoxBase.Show("Chinar,確定|取消,三角感嘆號(hào)", GetType().Name, WinForms.MessageBoxButtons.OKCancel, WinForms.MessageBoxIcon.Exclamation);break;case 3://Hand: 包含一個(gè)符號(hào),該符號(hào)包含一個(gè)紅色背景圓圈,圓圈中為白色 X 符號(hào)。//RetryCancel:重試和取消按鈕MsgBoxBase.Show("Chinar,重試 | 取消,(同錯(cuò)誤圖標(biāo))", GetType().Name, WinForms.MessageBoxButtons.RetryCancel, WinForms.MessageBoxIcon.Hand);break;case 4://Information:包含一個(gè)符號(hào),該符號(hào)在圓圈中包含小寫字母 i。//YesNo:是和否按鈕switch (MsgBoxBase.Show("Chinar,是 | 否,燈泡", GetType().Name, WinForms.MessageBoxButtons.YesNo, WinForms.MessageBoxIcon.Information)){case WinForms.DialogResult.Yes:print("對(duì)");break;case WinForms.DialogResult.No:print("錯(cuò)");break;case WinForms.DialogResult.None:print("無");break;}break;case 5://None:未包含符號(hào)。//YesNoCancel:是、否、取消按鈕MsgBoxBase.Show("Chinar,是 | 否 | 取消,無圖標(biāo)", GetType().Name, WinForms.MessageBoxButtons.YesNoCancel, WinForms.MessageBoxIcon.None);break;case 6://Question:包含一個(gè)符號(hào),該符號(hào)包含一個(gè)圓圈,圓圈中為問號(hào)。 不再建議使用問號(hào)消息圖標(biāo),因?yàn)檫@種圖標(biāo)無法清楚地表示特定類型的消息,并且作為問題的消息表述可應(yīng)用于任何消息類型。 此外,用戶可能會(huì)將問號(hào)消息符號(hào)與幫助信息混淆。 因此,不要在中使用問號(hào)消息符號(hào)。 系統(tǒng)繼續(xù)支持它包含的內(nèi)容,只為滿足反向兼容性。MsgBoxBase.Show("Chinar,OK按鈕,問號(hào)?", GetType().Name, WinForms.MessageBoxButtons.OK, WinForms.MessageBoxIcon.Question);break;case 7://Stop:包含一個(gè)符號(hào),該符號(hào)包含一個(gè)紅色背景圓圈,圓圈中為白色 X 符號(hào)。MsgBoxBase.Show("Chinar,OK按鈕,停止", GetType().Name, WinForms.MessageBoxButtons.OK, WinForms.MessageBoxIcon.Stop);break;case 8://Warning:包含一個(gè)符號(hào),該符號(hào)包含一個(gè)黃色背景三角形,三角形中為感嘆號(hào)。MsgBoxBase.Show("Chinar,OK按鈕,警告", GetType().Name, WinForms.MessageBoxButtons.OK, WinForms.MessageBoxIcon.Warning);break;}} }

4

Summarize —— 總結(jié)


點(diǎn)擊運(yùn)行,最終效果

提示:

點(diǎn)擊提示框上邊相應(yīng)按鈕的時(shí)候,會(huì)有不同的返回值

WinForms.DialogResult.Yes: / No / None /Cancel 等等

上邊代碼中,我寫有一個(gè)例子,可以根據(jù)情況自己寫判定規(guī)則

switch (MsgBoxBase.Show("Chinar,是 | 否,燈泡", GetType().Name, WinForms.MessageBoxButtons.YesNo, WinForms.MessageBoxIcon.Information)){case WinForms.DialogResult.Yes:print("對(duì)");break;case WinForms.DialogResult.No:print("錯(cuò)");break;case WinForms.DialogResult.None:print("無");break;}


如果需求的是中文提示框,貼心的 Chinar 為大家準(zhǔn)備了中文教程

中文提示框教程(點(diǎn)擊跳轉(zhuǎn))


支持

May Be —— 搞開發(fā),總有一天要做的事!


擁有自己的服務(wù)器,無需再找攻略!

Chinar 提供一站式教程,閉眼式創(chuàng)建!

為新手節(jié)省寶貴時(shí)間,避免采坑!


先點(diǎn)擊領(lǐng)取 —— 阿里全產(chǎn)品優(yōu)惠券 (享受最低優(yōu)惠)


1 —— 云服務(wù)器超全購買流程 (新手必備!)

2 —— 阿里ECS云服務(wù)器自定義配置 - 購買教程(新手必備!)

3—— Windows 服務(wù)器配置、運(yùn)行、建站一條龍 !

4 —— Linux 服務(wù)器配置、運(yùn)行、建站一條龍 !




<script type="math/tex" id="MathJax-Element-1"> </script>
技術(shù)交流群:806091680 ! Chinar 歡迎你的加入


END

本博客為非營(yíng)利性個(gè)人原創(chuàng),除部分有明確署名的作品外,所刊登的所有作品的著作權(quán)均為本人所擁有,本人保留所有法定權(quán)利。違者必究

對(duì)于需要復(fù)制、轉(zhuǎn)載、鏈接和傳播博客文章或內(nèi)容的,請(qǐng)及時(shí)和本博主進(jìn)行聯(lián)系,留言,Email: ichinar@icloud.com

對(duì)于經(jīng)本博主明確授權(quán)和許可使用文章及內(nèi)容的,使用時(shí)請(qǐng)注明文章或內(nèi)容出處并注明網(wǎng)址

總結(jié)

以上是生活随笔為你收集整理的Unity调用Window提示框Yes/No(英文提示窗)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。