Greenfoot是一个功能完整的开发环境,可以使用Java方便地编写游戏和进行模拟。它还可以被用来作为Java语言的教程,以及设计网络游戏,可以实用于所有年龄段的用户,而不仅仅是初学者。
软件介绍
Greenfoot是一款功能强大的用JAVA语言进行图形应用程序开发的软件,旨在使学习编程变得简单而富有教育意义的软件,使用能够帮助开发人员更加方便的进行Java编写游戏和进行模拟,可视化工具与编程相结合,使学习更容易编程,非常适合帮助编程初学者学习面向对象编程。Greenfoot由英国肯特大学和澳大利亚墨尔本迪肯大学设计并完成,支持Java的全部特性,它特别适合练习可视化组件的编程。在Greenfoot中,对象的可视化和对象的交互性是关键,使用标准的文本Java代码进行编程,将传统的基于文本的语言的编程经验与视觉执行相结合。支持项目管理,自动完成,语法高亮以及大多数IDE通用的其他工具,它还允许您在线和离线发布您的作品。
软件特色
1.Greenfoot和 BlueJ系统一样,对任何用途都是免费的。
2.Greenfoot认为是一个用Java语言创建二维图形程序的框架和IDE的结合体,很适合初学者使用。
3.Greenfoot支持Java的全部特性,特别适合练习可视化组件的编程。在Greenfoot中,对象的可视化和对象的交互性是关键。
功能介绍
1.这个框架可以用来实现基于二维网格的很多程序。greenfoot的框架负责两部分工作:简便的产生对象的图形化显示,按照模拟的路线运行。
2.如果你知道BlueJ和Microworld这两个框架的话,Greenfoot可以看作他们的结合。
3.为了实现这些功能,Greenfoot框架提供了一个Actor基类,其他任何想实现可视化的类都要继承他。必须执行的两个最重要的方法是:getImage()返回对象的图形,act()将在模拟路线中调用。
Greenfoot教程
1.认识Greenfoot界面
OK,打开我们之前建立好的Greenfoot空白工程,我们首先将看到这样一个界面。
首先我们就来认识一下Greenfoot的这个主界面。
首先先来做一个划分
然后我们将简单地依次介绍每一个部分。
(1).菜单栏
和大多数软件菜单栏的作用一样。没啥好说的,除了一些基本的文件操作。如打开、保存之外,我们基本不会用到菜单栏。
(2).游戏场景
我们编辑好代码,并编译后,游戏场景这个区域显示游戏的内容。
(3).控制面板
控制面板是我们控制游戏运行的地方。上面有3个按钮,作用分别是:步进、运行游戏、重置游戏世界。右侧还有一个拖动条,用于控制游戏的运行速度。
(4).类列表
类(Class)是Java(也是所有面向对象高级语言)的核心内容。我们写程序的时候,99%的时间是在写一个个的类。可以看到在类列表中,已经有World和Actor两个类了,它们俩是Greenfoot最为核心的两个类,这在之后会慢慢介绍。除了这两个已有的类之外,我们之后所写的每一个类,都会出现在类列表中。类之间有相互继承的关系(之后介绍),这层关系在Greenfoot中将会被类列表清晰地体现出来。
(5).分享按钮
我个人称它为导出按钮。我们按下它将会打开一个分享页面,可以选择将我们的游戏发布至官网、导出成独立的Jar包、导出成独立的网页等。
(6).编译按钮
编译的过程是我们将编写好的代码递交给计算机后,计算机通过专门的编译器(包含在JDK中)将我们的代码转化为计算机内部语言(机器语言)的过程。简言之,我们写完或者改完代码后,只有按下编译按钮编译过之后,所写的内容才会被真正“提交”到游戏中,在游戏场景中被体现出来。
以上就是Greenfoot界面一个简单的介绍,这里只是大致说一下Greenfoot的主界面,介绍一个每个部分的功能和作用,让大家大致有个了解。如果你对其中的任何一个概念没有理解,或者对任何一个部分想了解跟多的话。别担心,我之后会有详细介绍。
2.创建我们的第一个游戏世界
题外话:
这一章到目前为止都是教科书式按部就班的介绍,大家一定觉得很无聊吧。作为天朝小学、中学,中考、高考过来的各位一定觉得这种方式弱爆了。没错,其实我也觉得弱爆了,选择Greenfoot作为我们学习Java或者开发游戏的上手工具,相较传统,有趣就是它最大的卖点了,这种介绍方式有趣个毛线。所以大家放心,我是绝对不会这么写下去的。接下来我就会带领大家亲手建立我们的第一个demo。用到哪说到哪,采取头脑风暴和意识流的风格,希望大家能习惯,能喜欢。同时认真的同学不用担心这样不够系统,绝对没问题。因为我自己就是这么过来的。
(1).创建场景类BlackWorld
在类列表中找到World类,在右键弹出菜单中选择“New subclass...”
然后输入类名
然后点确定,BlackWorld类就创建完成了。
创建完BlackWorld之后,我们看到它立马被添加到了类列表中。
在创建BlackWorld类的过程中我们注意到,他是是World类的一个subclass(子类)。同时,World也称是BlackWorld类的父类或超类(superclass)。顾名思义,这对“父子”存在着继承关系,儿子会从爸爸那儿获得了一些爸爸的属性。继承的问题我会在后面的章节中继续详细讨论,这里咱不细说。在这里我们注意到,在类列表中可以看到有一个箭头从BlackWorld类指向World类,清晰地勾画出了各个类之间的继承关系。可以说,类列表本身就是一个建议的族谱,继承是面向对象编程的核心概念,理清类之间的继承关系对于我们学习Java和编写游戏都至关重要。
(2).这时我们点下Compile(编译)按钮,可以发现窗口发生了变化,成为了如下界面。
可以看到编译过后,类列表中BlackWorld上原有的灰色斜线们也不见了。一个类上有灰色斜线表示它是未编译的。编译过后,灰色斜线们会消失。
同时最明显的是,原本一片空白(空灰)的场景区域出现了一个尺寸600*400的白色方框。它就是我们的游戏世界——BlackWorld了。
不过……尼玛坑爹呢?名字叫BlackWorld怎么是一片白的?不急,接下来我们就来把它弄成纯黑的。首先找一个纯黑的图片,把它放到工程目录的images文件夹下。(如果你还没保存过的话先保存下,记住工程存放的目录就好)
在类列表中找到我们名不副实的BlackWorld类,在右键弹出菜单中选择“Set image”
在弹出的选图菜单中找到我们刚刚放进images目录的纯黑图片,选上即可。
我们的纯黑世界呈现眼前。
(3).创建角色类WhiteWalker
按照和创建BlackWorld类似的步骤,创建一个名叫WhiteWalker的Actor的子类。并设置一张小的白色方格图片。
(4).将白色行者放入纯黑世界
先Compile一下,然后右键WhiteWalker类,在弹出菜单中选择“new WhiteWalker()”新建一个WhiteWalker。
可以看到鼠标变成手型,同时下方悬挂有一个白色方块。那就是我们新建出来的WhiteWalker了。将鼠标移至黑色世界中的任意位置点击左键放置WhiteWalker。
至此我们初步认识了Greenfoot的界面,并成功创建了一个纯黑世界,并在里面添加了一个白色行者,迈出了制作小游戏的第一步(鼓掌)。然而,我们至今为止完成的工作都是依赖Greenfoot 作为一款IDE所带的功能。但它这方面的功能也仅限于此了,接下来我们将接触到真正的代码,学习如何写出漂亮的代码,做出有趣的游戏,这才是我们学习的初衷。