2011-11-30 189 views
7

因此,我一直在使用Visual Studio C++中的文件使用音頻和圖像的一些項目。到目前爲止,他們只是測試項目,但我現在正在使用SFML和一些不同的音頻庫來製作2D遊戲以獲得樂趣。問題是這樣的,我想把我的遊戲給別人,讓他們可以玩和測試他們,我可能會嘗試爲某些人開發某種多人遊戲,因此增加了我的願望,把它分發給其他人,但是我沒有知道我可以如何給他們包含所有文件的遊戲。我曾經只是能夠從調試或發佈文件夾中獲取exe文件,但這些項目有他們依賴的文件。如何導出所有使用的文件在Visual Studio中的EXE文件

所以這裏是我的問題,是否有可能導出一個包含所有其他文件(WAV的,JPG格式等)的EXE文件?如果這個問題聽起來非常愚蠢,那麼告訴我,因爲我幾乎不知道exe是什麼,它是否可以容納這些文件(我習慣了java,你可以簡單地將某些東西導出到可運行的jar中,因爲它是一個檔案,所有的資源預先包裝在那裏,我不知道一個exe是否擁有這些特徵)。如果這不可能,或者有更好的選擇,它們是什麼?我已經看到了一些東西,並且知道如何從數據數組中加載聲音,那會是一個更好的解決方案嗎?或者還有其他選擇嗎?最重要的是,在調試和發佈文件夾中有幾個DLL文件,我需要運行該項目,是否有辦法將這些文件壓縮到exe文件中,或者這些文件必須與exe文件位於同一個文件夾中?

這裏真正的問題是什麼是導出我的項目的exe文件的最佳方式,以便我可以利用我的所有聲音和圖像資源以及dll的一個易於分發的副本?提前感謝您的任何建議。

+0

請編輯您的問題,以便它在實際可讀的段落中;就像現在這樣,它只是一大堆字母。段落之間的回車在問題編輯器中工作得很好。 :) –

+0

如你所願。 – user1032369

+0

將文件添加到檔案(rar,zip),問題已解決。 – thedaian

回答

5

這是不可能的導出一個exe文件包含您的exe文件和其他多個文件。您可以使用安裝程序(例如免費的InnoSetup),或將額外的文件捆綁到資源中,並在運行時從資源加載它們。 (第一個好處是能夠詢問用戶在哪裏安裝,創建快捷方式和文件夾,開始菜單項等)。

+0

完美。謝謝。 – user1032369

5

有兩種簡單的方法可以製作一個文件,您可以輕鬆地向用戶提供測試和/或玩您的遊戲。

  1. 第一個選項是使用安裝,如肯白的答覆中提到。這對於「最終」版本來說是一個很好的方法,但是如果您只是想將遊戲副本發送給某人來測試它,那麼它會增加一個額外的步驟。

  2. 第二種方法是將所有文件放入單個.zip文件(或.rar或.tar.bz)。基本上,這很像Java的.jar文件,將所有dll,圖像文件和聲音文件合併爲一個文件。最近版本的Windows有能力創建內置的壓縮​​文件,所以最好的方法就是將所有文件壓縮到Debug或Release版本,然後解壓縮到某個空文件夾,然後測試遊戲。這樣做可以讓你確保你得到了你需要的所有文件。這樣,您可以輕鬆地將遊戲發送給某人,他們可以簡單地將其解壓縮到某個文件夾中,然後播放,而不會與安裝程序混淆。

  3. 獎金第三個選項堅持將文件轉化爲資源並在運行時,或者類似的東西(這是可能得到真正看中的,所有的文件合併成一個單一的EXE,但它不太容易加載它們,並不是真正可取的)。

+0

做單個壓縮文件的問題是,最終你需要做一個安裝程序,並且你有另一個測試循環。從適當的安裝程序開始,您可以測試(和* uninstaller *功能)作爲開發的一部分,並且在進行初始配置後並不是什麼大不了的事情。 :) –

相關問題