java游戏开发教程 c与java做游戏开发
大家好,今天来为大家分享java游戏开发教程的一些知识点,和c与java做游戏开发的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
Java游戏开发要学什么
Java游戏开发要学什么?所谓的游戏开发编程语言其实有很多,基本上任何一种语言都可以作为游戏服务器的编程语言。这需要根据自己游戏的类型和要求加以选择。比如C++,Java,Erlang,go等等。目前我用过的只有C++和Java.但是以Java为主。所以接下来就以自己的经验,谈谈以Java为核心的游戏服务器开发技术体系。
Java目前作为游戏服务器开发语言已经很是普遍。但是大多数是作为页游或手游的服务器,而端游戏一般选择C++,因为端游对服务器的性能要求相对比较高一些。两种语言各有利弊。C++效率高,但是掌握度难些。没有Java易于掌握。而目前对于追求快速上线率的页游和手游来说,Java成了一个不错的选择。
一、Java的技术系统
需要学习的技术:
(1)Java基础知识
(2)JavaNIO编程
(3)Netty,Mina网络框架精通一种,其它作为了解。
(4)一种缓存框架:Redis;memcache熟悉使用一个。
(5)SQL语言,用于数据库:mysql数据库
(6)springmvc主要用于http协议的服务器
(7)多线程编程,明白线程安全的重要性。
(8)Java并发集合的掌握。
(9)Linux常用的基本命令及shell脚本。
(10)数据库操作,比如mybatis。
以Java为服务器编程语言来说,掌握Java的基本知识就不必说了,是必不可少的。可以参考《Java编程思想》,《Java核心技术》等书。根据游戏通信协议的不同,大致有两种实现方式:Socket和http。先说简单些的http协议,这个协议已经很成熟的应用到了网站上。而Java语言也可以用于网站开发,所以相当就简单些。现在有很多开源的服务器软件,比如:tomcat,resin等。游戏前端不管是页游flash,还是手游的Android,IOS都支持http协议,只要把游戏的逻辑数据按post方法向服务器发出请求即可了。
二、学习流程
当然了,学习这些东西并不是一蹴而就的。需要根据实践循环渐进,这里推荐一个学习流程:
(1)对于初学Java的人来说,如果自学能力好些,可以买些书自己练习,而现在又更的多选择参加Java培训机构,以快速的掌握Java的知识。
(2)掌握了Java知识之后,要多写代码实践。这个时候可以结合mysql学习SQL语言,掌握数据库的操作。比如用springmvc写一个小网站,用mybatis实现网站数据的增,删,改,查等功能。
(3)完成上步之后,可以在服务器程序和数据库之间加一个缓存,学习redis或memcache。
(4)把程序部署到linux服务器上,练习linux的基本命令及shell脚
免责声明:内容来源于公开网络,若涉及侵权联系尽快删除!
java做一些小游戏需要学什么
Java做这些小游戏,可以使用下面几种Java自带的图形界面框架
Awt适合内存较小,配置较低的嵌入式系统等,组件较少,性能好,资源消耗低.
Swing适合PC等,组件较丰富,内存占用较大,但是跨平台性优越
JavaFX这个是比较强大的框架了,组件比Swing更丰富,比如添加了日期选择组件, WebView组件,还支持3D和动画.并且多多媒体支持良好.但是相关资料比Swing等少
既然学过Java Web那么对网页编程还是有了解吧, HTML+CSS+JS也可以开发出小游戏,浏览器可以显示,放入JavaFX的WebView组件也可以显示出来
推荐使用JavaFX或者 Web,因为这两者都很好做到了分离. JavaFX也可以分离出FXML文件,CSS文件,Java文件.当然也可以采用最稳妥的Swing来开发,毕竟Swing的图书教程很多.
推荐书籍
<Java 2D游戏编程入门><Java游戏编程原理与实践教程>
<JavaFX游戏程式设计第三版>
其实游戏算法都一样,在Swing上好了弄透彻了,也可以轻松移植到JavaFX或者网页上
Java游戏开发现状和走向怎样开发者该怎么选择
亲,由于Java技术及硬件技术的不断发展,许多基于Java的2D和3D游戏不断产生,其中不乏大型多人在线游戏。现在让我们来看看Java游戏的开发现状和走向是什么样的。
当然,其实现状并没有听起来那么糟糕,对于不使用Java的大多数游戏来说,根本就只能运行在一个平台上,许多游戏对directx或者opengl的版本有要求,更不要提那些运行在家用游戏机上的游戏了,跨平台是整个游戏业的大问题,Java只是像其他人一样没有把这个问题彻底解决掉而已,但仍然比其它技术做得要好。不过,值得一提的是,在那些不直接使用硬件加速的网页小游戏上,Java确实在稳定性和方便安装上输给了flash;在家用机方面,Java是0,而微软的xna(c#)可以跨xbox360和vista。
4.网络
Java一向强于解决网络方面的问题,在这方面,Java主要有两个优势,第一是基于applet和Java web start的游戏非常容易更新,不会像其他游戏那样需要用户手动下载全新版本;第二是Java在网络交互的api相对比较友好,而对于大型网络游戏来说,分布式系统非常重要,这正是JCP的巨头们喜欢的东西,可能由于这是一个卖硬件的好机会,sun下了不少功夫开发了project dark star来做网络游戏服务端,由于这个工程还没有到1.0,所以现在也很难说具体好用不好用。
5.速度
这个没什么可讨论的,基于Java的游戏肯定会比写得很好的c++程序慢,当然写一个好的c++程序所花费的庞大的薪水也是Java不能比的。
Java游戏方面主要的技术
1. Java3D
作为sun公司较早推出的一项3d技术,是一种高度封装的api,构建在opengl和direct3d之上,可以说是最有名的Java的3d技术。由于种种原因(api设计,面向的用户不明确),Java3d一直没有办法流行,不久前Java3d的团队宣布暂停对Java3d新功能的开发,转而为JavaFX开发3d渲染引擎。同时sun的另一个项目 project wonderland宣布将其渲染引擎由Java3d转为JMonkeyEngine。令人唏嘘的是sun的Java3d再次进入尘封状态,大量基于Java3d的程序和教程都面临一个非常尴尬的境地;令人高兴的是在这一领域终于有比sun做得更好的团队出现了。引用别人对此事的评价:Java3D is dead! Long live Java"3D"!
2. Lwjgl()
全名为light weight Java game library。作为一个非官方的对Java游戏的全面解决方案,lwjgl将游戏图形(opengl)、音效(openal)、控制输入集合为一,以成为Java界的directx(不是direct3d)而努力。其在图形方面采用了opengl的Java绑定,其函数与c语言版的完全相同,所以对于习惯opengl编程的程序员来说比较友好。目前有大量的Java游戏和游戏引擎是基于lwjgl的,它可以说是Java游戏社区最广为被使用的函数库之一。
3. Jogl()
Jogl是Java对opengl的一个绑定,或者说是opengl接口的Java实现,它是由sun支持的。其语法与opengl完全相同,api也紧跟随着opengl的版本进行更新,而Nehe的opengl范例程序大多数都有jogl版本。去年jogl正式通过jcp审核成为jsr231,是lwjgl的主要竞争者。值得一提的是,jogl项目的领导者Ken Russell曾经声明并不希望jogl成为jre的一部分,因为他认为这样会使jogl的更新周期与jre相同,从而变得过于缓慢。Ken Russell目前全力工作在新的Java plug-in的开发上,而opengl的api也没有进行更改,所以现在的jogl版本将持续较长的一段时间。
java游戏开发教程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c与java做游戏开发、java游戏开发教程的信息别忘了在本站进行查找哦。