欢迎光临
我们一直在努力

从零开发游戏需要学习的c#模块,第三十五章(打包发布 —— 让别人玩你的游戏)

本节课学习目标

  • 发布为一个独立的 .exe 文件

  • 把所有资源打包进去

  • 发给朋友,他们不需要装任何东西就能玩


  • 第一步:确保资源文件正确

    在 Visual Studio 右侧“解决方案资源管理器”里,检查以下文件:

    文件属性“复制到输出目录”
    Content/player_spritesheet.png 如果较新则复制
    Content/consola.ttf 如果较新则复制
    Content/coin.wav 如果较新则复制
    Content/hit.wav 如果较新则复制
    Content/shoot.wav 如果较新则复制

    右键每个文件 → 属性 → 确认“复制到输出目录”是 “如果较新则复制”。


    第二步:改读取路径

    在发布版中,资源文件在 .exe 旁边,需要用 AppDomain.CurrentDomain.BaseDirectory 来定位。

    在 Game1.cs 顶部添加:

    using System.Reflection;

    然后把所有 File.OpenRead("Content/xxx") 改成使用绝对路径。

    创建辅助方法(放在 Game1 类里):

    csharp

    private string GetContentPath(string relativePath)
    {
    string baseDir = AppDomain.CurrentDomain.BaseDirectory;
    return Path.Combine(baseDir, "Content", relativePath);
    }

    修改 LoadContent 里的所有加载路径:

    csharp

    // 旧的
    using var stream = File.OpenRead("Content/player_spritesheet.png");

    // 新的
    using var stream = File.OpenRead(GetContentPath("player_spritesheet.png"));

    同样的方式改字体和音效加载。


    第三步:发布设置

  • 在 Visual Studio 顶部菜单栏,把 Debug 改成 Release

  • 右键你的项目 → 发布

  • 选择 文件夹

  • 目标位置选桌面或你方便找的地方

  • 点击 完成 → 发布


  • 第四步:设置发布选项

    发布完成后,在项目属性里做一些关键设置:

  • 右键项目 → 属性

  • 点击左侧 发布

  • 点击 显示所有设置

  • 关键设置:

  • 设置值
    部署模式 独立(自包含,对方不用装 .NET)
    目标运行时 win-x64
    生成单个文件 勾选(全部打包成一个 .exe)
  • 保存,再次点击 发布


  • 第五步:复制 Content 文件夹

    发布出来的 .exe 需要和 Content 文件夹在一起。把项目里的 Content 文件夹完整复制到发布文件夹里。

    最终发布文件夹的结构:

    text

    发布文件夹/
    ├── 你的游戏.exe
    ├── Content/
    │ ├── player_spritesheet.png
    │ ├── consola.ttf
    │ ├── coin.wav
    │ ├── hit.wav
    │ ├── shoot.wav
    │ └── …
    ├── savedata.json(会自动生成)


    第六步:测试

  • 把整个发布文件夹复制到另一台电脑(或发给朋友)

  • 双击 .exe 文件

  • 应该能直接运行,不需要安装任何东西

  • 本节课学习到此结束,我是魔法阵维护师,关注我,下期更精彩!

    赞(0)
    未经允许不得转载:171主机测评 » 从零开发游戏需要学习的c#模块,第三十五章(打包发布 —— 让别人玩你的游戏)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址