怎么用java做游戏?
作为世界上最强大的开源语言之一,Java能做任何事,写个框架?写个程序?或者说——做个游戏?
但首先你得会使用引擎——unity、虚幻,哪怕是寒霜都成,但你得会一个。
然后是最难的部分之一——模型,和贴图。一般来说,3DSMAX较多的用作游戏开发,但如果是虚幻,MAYA更方便一些。建好模型,再绘制贴图,把它扔到引擎里,第一步就算完成了。
然后,绘制场景——这需要你拥有高超的关卡设计能力,这步通常需要很长时间的学习。
然后你就可以进行程序开发了,使用J***a,制作主程序,再在主程序的基础上,制作条件、精灵,和任务等等。
最后,再用你那高超的UI设计能力,做一个UI,除错后打包,你的游戏就算是完成了!
题主加油,等着你的游戏。
主要是用J***a分支中的J2ME来写,但是J2ME中需要J***a的基础知识 。
现在有大部分人,都是从零开始学J2ME的,学习J2ME的时候,总是从J***a基础开始学习,而且现在讲J***a基础的书籍中都是以J2SE来讲基础,这就给学习造成了一些不必要的麻烦,下面将J2ME中用到的和不需要的J***a基础知识做一个简单的说明。
J2ME中使用到的J***a基础知识:
1、J***a语法基础:包括基本数据类型、关键字、运算符等等
4、多线程
J2ME中没有用到的J***a基础知识:
1、JDK中j***ac和j***a命令的使用
2、J***a基础中的很多类在J2ME中没有,或者类中的方法做了大量的精简。所以建议在J2ME中熟悉类库。
J***a可以做3D游戏,可以做非常酷炫的3D游戏,性能并不比那些C++的引擎差!而开发效率又要高处好几个数量级!
为什么呢?因为游戏底层的图形渲染实质上都是OpenGL或者Direct3D,现代游戏引擎不大可能让你手动去做图形运算,复杂的东西都是交给底层的dll/so静态库文件以及GPU执行的,上层代码主要做好场景管理和逻辑控制。这也是为什么Unity3D这个引擎居然可以使用 C# 和 JavaScript 作为它的游戏脚本,而从来没有人说Unity3D引擎的游戏性能差。
另外,游戏的画面,不管3D还是2D游戏,影响画面效果的主要因素是游戏素材,而不是编程语言。3D游戏又有独特的着色器语言专门负责图形特效。什么HDR、PBR、SSAO、动态模糊、次世代法线贴图,通通都是靠Shader搞定的,跟你用什么语言来写游戏逻辑没有半毛钱关系。
反观 J***a 本身的性能,现代编程语言除了 C/C++,真没有哪个敢在 J***a 面前夸自己性能的。而且 J***a 有众多的开源类库,凭什么我们不能用 J***a来做游戏呢?
诚然,Unity3D、CryEngine、Unreal这样的商业引擎不仅仅是个游戏引擎,它们还有很多成熟的配套工具和***工厂,这是J***a游戏引擎所不具备的。
为什么J***a不适合游戏开发?
j***a开发游戏性能和效率差,开发一些小游戏还可以,j***a面向对象,所有方法都是封装在类里的,要调用方法就得实例类,而游戏主要侧重的是逻辑
对象就像是很多功能的机器,但是我的游戏逻辑只要每台机器的其中一个功能,但要用的话必须把这一整台机器制造出来。这就是面向对象的缺陷吧
而c是面向过程的可以更加灵活地设计过程逻辑,少去很多多余东西,大大提高性能
j***a的长处就是利用各种现存的类包,达到复用的效果,大大提高开发效率,
当然j***a也可以只针对逻辑来设计类,但那不是j***a的长处,没有多大的意义