• 回答数

    4

  • 浏览数

    846

长情几时休
首页 > 资格类考试 > 怎么用java做游戏?

4个回答 默认排序
  • 默认排序
  • 按时间排序

北笙

已采纳
1分钟前发布 -【怎么用java做游戏?】http://www.zjks.cc 10月30日讯: I am xiaowutonxue. First and foremost, I would like to express my sincere gratitude to my supervisor, professor Hu Anjiang, for his intellectual guidance, invaluable instructions and comments on my thesis. It is with his valuable assistance that I have finally accomplished this thesis.我来了。1.设计游戏,首先就要设计界面。首先看一下我设计的一个界面。界面分为左边的游戏区与右边的控制区。游戏区包含“得分信息”和贪吃蛇的游戏区,右边控制区有“开始”“暂停”“停止”按钮,等级选择单选框以及游戏排行榜。2.所以我们需要定义swing组件,并在类初始化时初始化这些组件,添加组件。因为后面设计游戏的时候,我们要确切知道游戏区的大小,所以这里设置游戏区固定大小值。本来想用布局来更好的管理,但作者对布局也掌握不够,所以就先设置固定大小吧。3.定义我们的游戏。贪吃蛇游戏其实就是包含很多细小网格,然后蛇在网格中移动。蛇由一连串的网格组成,为了视觉效果,蛇身用蓝色标记,食物用红色标记,背景白色。如第一张图片所示。所以,我们需要定义二维数组,保存网格信息,保存蛇身和食物的位置信息等。初始化时,还需要添加键盘事件控制上下左右移动。4.豆豆的位置信息是二维的,所以我简单定义了一个类用来保存二维信息。5.接着就是实现游戏的功能了。开始,暂停,停止按钮添加事件控制游戏开始。等级按钮定义游戏难度等。6.开始游戏后,我们定义一个定时器。蛇身按照指定的方向移动,方向是通过初始化时添加的键盘事件,键盘的上下左右按钮来控制。蛇身是连续的位置信息,保存到队列中,所以蛇身的移动就是队首增加一个位置,队尾减少位置,然后重新绘画游戏区就可以了。在蛇身移动时进一步做吃掉食物、撞墙、撞到自己的处理。这是游戏的主要逻辑。7.最后,游戏结束我们弹出一个对话框提示是否保存游戏得分。我们制作了排行榜信息,只保留前10名的游戏得分。首先定义了一个实现Comparable接口的游戏得分类,按得分高,时间最早来排序。8.游戏结束时保存得分信息,看是否进入到排行榜中。而之前在初始化排行榜组件时就会加载游戏排行榜信息。通过保存和读取排行榜信息,我们也熟悉一下文件读取操作,还有集合、排序算法的功能。9.我是传播爱与正义的小芜同学,我的回答结束。
38 评论

不如笑着放手

已采纳
Java可以做3D游戏,可以做非常酷炫的3D游戏,性能并不比那些C++的引擎差!而开发效率又要高处好几个数量级!为什么呢?因为游戏底层的图形渲染实质上都是OpenGL或者Direct3D,现代游戏引擎不大可能让你手动去做图形运算,复杂的东西都是交给底层的dll/so静态库文件以及GPU执行的,上层代码主要做好场景管理和逻辑控制。这也是为什么Unity3D这个引擎居然可以使用 C# 和 JavaScript 作为它的游戏脚本,而从来没有人说Unity3D引擎的游戏性能差。另外,游戏的画面,不管3D还是2D游戏,影响画面效果的主要因素是游戏素材,而不是编程语言。3D游戏又有独特的着色器语言专门负责图形特效。什么HDR、PBR、SSAO、动态模糊、次世代法线贴图,通通都是靠Shader搞定的,跟你用什么语言来写游戏逻辑没有半毛钱关系。反观 Java 本身的性能,现代编程语言除了 C/C++,真没有哪个敢在 Java 面前夸自己性能的。而且 Java 有众多的开源类库,凭什么我们不能用 Java来做游戏呢?诚然,Unity3D、CryEngine、Unreal这样的商业引擎不仅仅是个游戏引擎,它们还有很多成熟的配套工具和资源工厂,这是Java游戏引擎所不具备的。
17 评论

浅夏蔷薇

已采纳
主要是用Java分支中的J2ME来写,但是J2ME中需要Java的基础知识 。现在有大部分人,都是从零开始学J2ME的,学习J2ME的时候,总是从Java基础开始学习,而且现在讲Java基础的书籍中都是以J2SE来讲基础,这就给学习造成了一些不必要的麻烦,下面将J2ME中用到的和不需要的Java基础知识做一个简单的说明。J2ME中使用到的Java基础知识:1、Java语法基础:包括基本数据类型、关键字、运算符等等2、面向对象的思想:类和对象的概念,继承和多态等等。3、异常处理4、多线程J2ME中没有用到的Java基础知识:1、JDK中javac和java命令的使用2、Java基础中的很多类在J2ME中没有,或者类中的方法做了大量的精简。所以建议在J2ME中熟悉类库。3、Applet、AWT、Swing这些知识在J2ME中根本使用不到。简单说这么多,希望学J2ME的朋友们能少走一些弯路,不足之处希望大家积极指正和补充1相关问题全部
83 评论

搞怪之王

已采纳
啊,不止一次的被问过这个问题。作为世界上最强大的开源语言之一,Java能做任何事,写个框架?写个程序?或者说——做个游戏?但首先你得会使用引擎——unity、虚幻,哪怕是寒霜都成,但你得会一个。然后是最难的部分之一——模型,和贴图。一般来说,3DSMAX较多的用作游戏开发,但如果是虚幻,MAYA更方便一些。建好模型,再绘制贴图,把它扔到引擎里,第一步就算完成了。然后,绘制场景——这需要你拥有高超的关卡设计能力,这步通常需要很长时间的学习。然后你就可以进行程序开发了,使用Java,制作主程序,再在主程序的基础上,制作条件、精灵,和任务等等。最后,再用你那高超的UI设计能力,做一个UI,除错后打包,你的游戏就算是完成了!题主加油,等着你的游戏。
84 评论

相关问答

  • 对外汉语和汉语国际教育的区别?

    培养目标不同  汉语国际教育和对外汉语听起来比较像,但是汉语国际教育属于专业硕士,而对外汉语属于学术型硕士。  对外汉语是传统的的学术型硕士研究生教育,也就是我们平时所说的“科学硕士”(或称“学术型硕士”),比较注重理论研究,关注的是汉语本体以及“什么是、如何学、如何教”对外汉语等问题;  而汉语国际教育硕士主要侧重实践,即对

    一纸鸢歌 4人参与回答 2024-10-30
  • 外国语学院是什么意思

    外国语学院的意思是指:1、以外语涉外学科(专业)教学研究为主,经贸、外事、旅游、对外汉语等相关涉外学科(专业)协调发展的高等教育机构。中国有北京外国语大学、上海外国语大学、广东外语外贸大学、四川外国语大学、北京第二外国语学院、西安外国语大学、天津外国语大学、大连外国语大学等8所本科层次的专业外语学院,解放军外国语学院为军事类外语学院。2、综合性大学B18(含部分非综合性大学)下属的二级学院。如北京

    与往事干杯 4人参与回答 2024-10-30
  • 古代汉语有哪些特殊语法现象?

    1 古代汉语有很多特殊的语法现象,比如兼语句、倒装句、破折号句、并列句等等。2 这些语法现象主要是由于古代汉语语法体系的特殊性质所导致的,比如兼语句是因为古代汉语没有像现代汉语那样的主谓宾结构,而是主语和谓语可以同时兼顾宾语的功能。3 另外,古代汉语的语法也受到了文化、历史、社会等因素的影响,比如破折号句和并列句常常用于表达对立关系和并列关系,反映了当时社会的复杂性和多样性。4 了解古代汉语的特殊

    忠于自己 4人参与回答 2024-10-30
  • ZS1P中文是什么意思?

    "ZS1P"中文的意思是“指定职业技能鉴定”。这是由中国人力资源和社会保障部和教育部联合组成的“全国职业技能鉴定机构”。该机构主要负责对职业技能进行评估和培训,以提高职业教育水平和就业竞争力。作为中国职业教育的重要一环,职业技能鉴定对于提高劳动者的职业素质和就业能力非常关键。通过参加职业技能鉴定,可以提高技能水平,

    何必丶认真 20人参与回答 2024-10-30
  • 动物医学专业代码?

    专业代码为090601。 这是因为每个专业都有一个唯一的标识,方便学生和教育部门进行管理和组织。这个代码表示该专业属于“农林牧渔类”大类下的“动物生产类”中的“动物医学”专业。 此外,动物医学是一门涉及动物疾病防治、人畜共患病研究等方面的综合性专业,旨在培养具备临床诊疗、科研、教育和管理等方面的知识和综合能力的专业人才。

    荌靜旳埋葬ご 4人参与回答 2024-10-30