[Unity3D] Unity做出來的軟件怎么加文件系統(tǒng)

Unity 做出來的軟件怎么能有自己的文件系統(tǒng)呢或颊?下面筆者將簡(jiǎn)單的教大家怎么實(shí)現(xiàn)這個(gè)功能。

需求:

  1. 自定義一個(gè)文件類型,后綴名是 :“.bian”
  2. 新建一個(gè)以 “.bian”結(jié)尾的文件
  3. 雙擊這個(gè)文件,自動(dòng)打開Unity 游戲引擎開發(fā)的軟件色解,并獲取這個(gè)文件的路徑
  4. 有了路徑,就能用Unity開發(fā)的軟件打開這個(gè)文件了(本文不做討論)餐茵。

實(shí)現(xiàn):

我們需要了解的知識(shí)點(diǎn):

  1. Unity Standalone Enviroment.CommandLineArgs
    擴(kuò)展閱讀 第 1 條科阎。
  2. 怎么注冊(cè) 文件系統(tǒng)
    擴(kuò)展閱讀 第 2 條。
  3. 怎么從 第 1 點(diǎn)中獲取自定義文件的路徑
    第一步告訴我們忿族,Unity 打包的APP 命令行的參數(shù)是以空格隔開的锣笨,也就是說蝌矛,如果你的文件的路徑中存在空格呀,那恭喜你错英,你的路徑將不能一次性獲取到入撒。
    這個(gè)問題筆者也遇到了,我使用了正則表達(dá)式處理它:
void Start()
    {
        string[] args = System.Environment.GetCommandLineArgs();
        string cmdChain = args.Aggregate((a, b) => a + " " + b); //使用空格鏈接這些參數(shù)椭岩,生成一整行的命令
            if (args.Length > 1&&!string.IsNullOrEmpty(args[1])) //如果參數(shù)2個(gè)及以上且第二個(gè)參數(shù)有效
            {
               //單行匹配模式
                MatchCollection match = Regex.Matches(cmdChain, @"\.exe ([A-Za-z]:.+\.bian)", RegexOptions.Singleline);
                if (match.Count > 0 && match[0].Groups.Count > 0)
                {
                    text.text = match[0].Groups[1].Value; //匹配分組中拿到正確的文件路徑
                }
            }
    }

Tips:

  • 原來是空格的茅逮,依舊用空格鏈接他們,生成一條長(zhǎng)長(zhǎng)的參數(shù)鏈:cmdChain
  • 然后看到這樣的一個(gè)規(guī)律:這條 cmdChain 中我們想要的那個(gè)文件路徑呀就在 .exe和 .bian之間(包含.bian)判哥。
  • 根據(jù)發(fā)現(xiàn)的規(guī)律献雅,很容易想到編寫正則表達(dá)式處理嘛。
  1. 怎么打開自定義的文件
    一步步走來塌计,你就在unity開發(fā)的APP里面拿到了雙擊的文件的路徑挺身,想怎么打開自定義的文件那可就見仁見智咯!
    譬如筆者就想用zip打包的方式封裝文件 锌仅,里面包括一個(gè)json描述文件瞒渠,幾個(gè)文件夾,一些資源文件技扼。是不是有點(diǎn)AssetBundle的理念?其實(shí)很多文件都是這種理念了嫩痰,比如Excel(我見過有人解壓Excel的剿吻,噗~)。

動(dòng)畫

由于文末提供了GitHub倉(cāng)庫(kù)串纺,筆者就不講太多丽旅,下面直接動(dòng)畫演示本文提及的項(xiàng)目都實(shí)現(xiàn)了什么。


加載自定義文件系統(tǒng)
卸載自定義文件系統(tǒng)
文件打開方式發(fā)生變動(dòng)

擴(kuò)展閱讀

  1. C# 注冊(cè)自定義文件類型 實(shí)現(xiàn)自定義文件類型關(guān)聯(lián)默認(rèn)應(yīng)用程序 - 郎涯工作室 - CSDN博客
  2. Unity3D-獲取命令行啟動(dòng)參數(shù) - 游戲人生 - CSDN博客
  3. C#讀纺棺,寫榄笙,刪除注冊(cè)表 - jingxuan84的專欄 - CSDN博客
  4. RegistryKey Class (Microsoft.Win32) | Microsoft Docs
  5. C# 自定義文件格式并即時(shí)刷新注冊(cè)表 非關(guān)閉explorer - zhangtirui的專欄 - CSDN博客

寫到最后

本文GitHub工程地址 Bian-Sh/FileSystem4UnityStandaloneApp
也不知對(duì)親有沒有什么幫助呢!

標(biāo)簽: Unity Runtime standalone 打開自定義文件 自定義文件系統(tǒng) 自定義后綴名

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末祷蝌,一起剝皮案震驚了整個(gè)濱河市茅撞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌巨朦,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異炕舵,居然都是意外死亡豪娜,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門棚蓄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來堕扶,“玉大人碍脏,你說我怎么就攤上這事∩运悖” “怎么了典尾?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)邪蛔。 經(jīng)常有香客問我急黎,道長(zhǎng),這世上最難降的妖魔是什么侧到? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任勃教,我火速辦了婚禮,結(jié)果婚禮上匠抗,老公的妹妹穿的比我還像新娘故源。我一直安慰自己,他們只是感情好汞贸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布绳军。 她就那樣靜靜地躺著,像睡著了一般矢腻。 火紅的嫁衣襯著肌膚如雪门驾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天多柑,我揣著相機(jī)與錄音奶是,去河邊找鬼。 笑死竣灌,一個(gè)胖子當(dāng)著我的面吹牛聂沙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播初嘹,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼及汉,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了屯烦?” 一聲冷哼從身側(cè)響起坷随,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎驻龟,沒想到半個(gè)月后甸箱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡迅脐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年芍殖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谴蔑。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡豌骏,死狀恐怖龟梦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情窃躲,我是刑警寧澤计贰,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站蒂窒,受9級(jí)特大地震影響躁倒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜洒琢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一秧秉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧衰抑,春花似錦象迎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谭网,卻和暖如春汪厨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背愉择。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工劫乱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人薄辅。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像抠璃,于是被迫代替她去往敵國(guó)和親站楚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容