在上一篇文章中,小编为您详细介绍了关于《天涯明月刀手游兑换码在哪输入?礼包兑换码使用方法介绍[多图]》相关知识。本篇中小编将再为您讲解标题FNA 环境搭建。
|
为什么选择 XNA FNA 是微软的 XNA 的重新实现,其与 MonoGame 较为类似,基本代码可通用。但是 FNA 更多的精确地重新实现,所以可能与 XNA 兼容,但 MonoGame 则有所拓展,并非 100%兼容。 相比 MonoGame,FNA 资料较少(中文则是更少了),这篇文章主要介绍是入门开发的拦路虎:环境搭建。 如果你喜欢 C# 的接口、封装、抽象,不喜欢庞大的 IDE,不喜欢庞大的引擎有一堆永远赘余的功能,如果你喜欢传统写代码方式自己控制流程而不是在引擎中写脚本来开发游戏,那么你可能会喜欢这个游戏框架。 我最大的感受是它在大包大揽的引擎和底层的 API 中达到一种平衡。你拥有很大程度的控制权,并且不必与底层系统纠缠。 下载 在官方 Github 可以下载,这里下载 FNA-2008,不要下载 FNA-2009(新版本用到了 FNA3D 渲染,对应 DLL 需要自己编译我们暂时也用不到),下载并解压
同时下载一些依赖的本地库,比如 SDL2,FAudio 等等,目前下载地址在这里: http://fna.flibitijibibo.com/archive/fnalibs.tar.bz2 或者在官网(http://fna-xna.github.io/)的这里下载:
HelloWorld 准备好之后可以在 Visual Studio 中新建一个控制台工程:
然后选择你的项目名字(比如 HelloFNA),等待工程创建完成,再选择:解决方案->添加->现有项目
选择之前解压的 FNA.csproj 工程,之后的项目结构如下
之后在 HelloFNA 项目中引用 FNA 项目:
选择 FNA 项目点确定:
然后再 HelloFNA 的项目下新建一个类:
再取个名字,比如 AwasomeGame,然后这个类继承自 Microsoft.Xna.Framework.Game:
之后在 Program.cs 中调用如下代码:
然后按下 F5 运行,不出意料你会遇到如下错误:
该提示为没有找到本地库(dll 文件),所以需要在项目的输出文件(HelloFNA/bin/Debug)中把之前下载的本地库拷贝进去,选择 x86 文件夹下的全部 dll 文件(不要拷贝文件夹,只拷贝文件),拷贝到 Debug 文件夹内
此时再运行就能看到窗口了!
加载和显示图片 只显示一个窗口很无聊,下面的代码将会显示一张图片.假设我们要显示这么一张图片 (来源自:https://kenney.nl/assets/animal-pac):
我们先在项目中新建一个 Content 文件夹,并把这个图片放进去
然后在 Visual Studio 中当前项目中:新建文件夹->添加项->选择全部文件->选择图片,这里注意文件格式要选择所有文件:
下面是最重要也是一开始最容易忽略的一点,我们要在工程中设置图片属性为复制到输出目录,点击图片右键选择属性:
在 XNA 中的 Game 类中有几个方法需要注意
所以我们想要显示图片,第一件事就是加载图片,然后再 Draw 方法里面绘制出来即可。这里绘制图片需要有一个 SpriteBatch 对象,所以接着在 AwasomeGame.cs 中声明 Texture2D 对象和 SpriteBatch 对象
之后所需要的的就是加载,初始化和绘制的逻辑
这个时候按下 F5 运行即可看到我们的图片显示出来了。
如果你对 MonoGame 有所了解可能会了解 MGCB 软件,使用这个软件可以将资源导出给 MonoGame 使用,同时 FNA 也可以使用。一般比较简单的资源是不需要使用这个软件导出给 FNA 使用(一般也不推荐用,感觉多了一个步骤,本来修改导出就很简单),只要你遇到比较复杂比如 SpriteFont 和 3d 模型 时候可能需要,不然一般自己读取即可。 至此这篇文章的任务就达成了,我们搭建成了 FNA 的环境,有了这个基础,你可以继续看其他 XNA / Monogame / FNA 书籍教程来学习并继续探索。 对第三方库保持谨慎态度 在 XNA 也有一些框架可供使用,比如 NEZ 和 MonoGameExtend,但是我个人并不推荐在你不熟悉的时候就拿这些框架来用。 我比较喜欢的方式是先看代码,觉得合适的再把那一部分过来(有些时候只需要精简版)。在符合自己需求下用代码会比较符合代码复用。你会发现这些框架很多互相借鉴。 代码复用应该尽量保持代码量小而精,一下子加一堆可能永远也用不上的代码也没什么用处。 最后,希望本文对你有帮助,也希望你能享受写代码做游戏的乐趣^_^ 来源:indienova 原文:https://indienova.com/indie-game-development/fna-engine-set-up/ |
编后语:关于《FNA 环境搭建》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《光遇10.15复刻先祖国服位置在哪?10月15日旅行先祖位置介绍[多图]》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器