第一章:初始设置

本章内容源自于:Initial Setup

Main类


我们先写一个主类:

主类

运行这个类。选择“continue”后你只看到一个窗口,屏幕漆黑一片。不是很有趣。

EntityDataState类


#The beef(译者:“ 牛肉”在这里应该是主食的意思,也就是重点)这一切都是为了讲解实体系统,因此我们先设置并初始化Zay ES系统,稍后再写游戏逻辑:

Zay-ES系统类

关于AppState这里没什么可说的,因为这无脑般地简单。

黑屏?我的意思是...有人吗?的确,没有图像的游戏并不十分有趣。此外,图像可以让我们看到反馈信息,使我们感到快乐并激励我们继续玩下去。

模型:星际战舰


我们需要模型。模型可以通过Blender制作,然后导入进JME3。

首先我们需要一个飞船模型,所以得使用Blender做一个出来。为了不浪费你的时间,我把我做好的模型(译者:原地址国内无法访问,感谢冰点提供了另一个下载地址)分享与你。当然这不代表你就不可以使用自己的模型了。

如果你打算自己做模型,请把做好的.blender格式模型放到assets目录下的Models文件夹中,然后在JME3中右键这个文件并选择“转换成j3o格式”。(译者:这是JME SDK特有的功能)

ModelFactory类


在你使用Blender创建了模型之后,使用工厂加载模型并将其转换成Spatial类对象是非常好的办法,这会让事情变得更简单:

模型工厂类

这段代码暗示了我们的模型应该在“Project Assets”目录下(这个文件夹叫assets)的Models文件夹中。我认为我不需要对代码做过多解释。当然你可以多写点代码把你的模型工厂类弄得更加面向对象化,这不是重点。(译者:如果是IDEA的gradle项目,你需要在resources目录下新建Models文件夹,然后把模型放到这个文件夹中)

VisualAppState类


#Quick and dirty(译者:“快餐”在这里应该是即食的意思)现在我们把飞船显示到屏幕上。为此我们要建立一个显示系统,我称之为VisualAppState。代码如下:

显示系统类

请确认你的飞船加载路径为:assets/Models/SpaceShip.j3o(译者:或者是resources/Models/SpaceShip.j3o)

如果你的模型有材质那么可能你需要光源才能看到它:代码中我已经添加了一个直射光源。把我们创建好的各个系统关联到Main类中:

把系统关联到Main类中

一切搞定后,按下F6运行主类你可以看到一个飞船。我承认目前还没有用到实体系统,但我们已经准备好了实体系统。事实上我们不得不给VisualState再添加些东西以及其他游戏逻辑。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 小编是一个有着6年工作经验的工程师,关于C++,编程,自己有做材料的整合,一个完整的C++编程学习路线,学习...
    某某呆阅读 4,804评论 0 1
  • “不端不装,有趣有梦。” 在微信公号“奴隶社会”里看到这句,立马记住。 不做作,不装B,有...
    天天萌萌哒阅读 4,039评论 0 1
  • 越南之行完美结束,我现在还在地铁上,还没到家,明天就要上班,这个衔接得…………想想就心塞…… 但是,整个旅程还是蛮...
    原来你是这样的牛牛阅读 1,397评论 0 0
  • 最近胃持续性的灼烧疼痛,让我感觉我某一天一定会死于胃病,简直太痛苦了。但我仍然没有对生活顿悟,准确来说,我是一个俗...
    regu阅读 1,144评论 0 1