作者:upupzealot
原帖地址:http://www.cnblogs.com/upupzealot/archive/2013/01/26/2877835.html
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所带的功能。但它这方面的功能也仅限于此了,接下来我们将接触到真正的代码,学习如何写出漂亮的代码,做出有趣的游戏,这才是我们学习的初衷。
请读者自行探索如何在世界中添加更多的同类角色,同时双击打开BlackWorld和WhiteWalker类,看看里面默认配置的代码,自己研究一下。
下期我们将学习如何利用代码完成今天所作的工作,同时给我们的角色添加动作。
CH0 安装配置Greenfoot
1.获取Greenfoot
Greenfoot作为一款免费开源的共享软件,可以从其官网下载。(官网地址:http://www.greenfoot.org)
进入网站门户后点击“Enter Greenfoot site”进入网站主页,选择进入我们的需要的“Download”下载界面。
从左侧范围根据自己所用的计算机系统选择下载对应的Greenfoot最新版本。
同时可以看到在右侧还有一个大大的“Requirements”栏目,提醒我们要下载JDK。
点击“Download”按钮我们将进入Oracle的JRE/JDK下载界面。
此时选择下方的JDK,进入JDK下载界面。
在勾选接受协议后,即可根据自己所用的计算机系统下载最新的对应版本JDK
(普通的32位XP,Win 7, Vista系统选择Windows X86版本)。
2.什么是JDK/JRE
接下来简单的介绍一些Java相关的内容,大神绕道。
题外话:
之前的一个步骤我讲的非常详细,甚至达到了傻瓜化的地步(对于非新手的大神,抱歉我侮辱了你们的智商),事实上任何一个稍微有点自主解决问题的人都能独立完成下载和配置Greenfoot及JDK的过程(毕竟百度在那儿摆着)。然而,我依然不能排除有一些零起点的Java Learner 需要这样程度的教学内容(如果我没有遇到过的话我也不会这么做了)。但是我毕竟不想总是啰唆一些过于简单的东西,所以到此为止,接下来不会这样了。出于照顾Java新人(甚至是编程新人),我依然会给出一点关键字用于百度。学会使用百度,是自学成功的一半。
在第一步中我接触到了JDK和JRE的概念,Greenfoot开发者很亲切的提醒我们这些程序小白,要下载JDK,别下成JRE了。
那么什么是JDK,什么是JRE,它们有啥区别呢?
JDK(Java Development Kit),我自己叫它Java 开发者工具包。他是Java官方(关键字:SUN/Oracle,喜欢八卦的同学可以了解下Java的历史)提供给Java程序员的开发工具。但这依然是一个非常底层和基础的工具。作为Java程序员,我们直接接触到的编程工具往往是IDE(Integrated Development Environment),集成开发环境。Java的IDE有很多,大名鼎鼎的Eclipse,以及我们接下来要介绍的Greenfoot都是Java IDE。IDE是程序员的工具,JDK就是IDE运行的基础。所以,不安装好JDK,Greenfoot是没办法运行的。
JRE(Java Runtime Environment),Java运行环境。Java的又一个核心概念,顾名思义,它是Java程序运行的基础。只有安装有JRE的设备才能运行Java程序。
JDK中往往包含有一个对应版本的JRE。
如果把写程序比作文章。JRE就是阅读器,读者用它看文章(Java程序用户需要自备JRE);而JDK就是编辑器(当然,编辑器自带阅读功能),作家用它写文章。所以,用Greenfoot编写Java小游戏的我们需要下载JDK,当我们写完游戏,想要把它分享给我们的好友炫耀一下的时候,我们不必要求他也去装一个JDK,只要保证他的电脑上有JRE就好了。
关于JDK再说几点:
(1).总是使用最新版本的Greenfoot和JDK。Greenfoot每次放出新的版本都会修复一些BUG,规范核心类,提出使用的新功能。所以及时更新很有必要,而最新版本的Greenfoot总是和最新版本的JDK匹配,当你更新Greenfoot后如果发现旧的代码出现了一些以前没有的问题,十有八九是JDK没有更新,官方论坛( http://www.greenfoot.org/topics )上有许多人问类似的问题,最后的结果都是更新解决一切。
(2).最好把JDK安在一个自己记得的地方。
(3).如果你在安装好了JDK和Greenfoot之后,运行Greenfoot仍然遇到如下问题:
Greenfoot could not find any Java systems.
说明Greenfoot没有自动找到JDK安装的位置,你需要手动定位一下。
如果还不行,如下图。
请自行百度一下“Java 环境变量配置”,有很多相关文章都说得很细,这里不说了。
3.初识Greenfoot
在安装好最新版本的Greenfoot和JDK之后,我们就可以打开Greenfoot开始我们的Java小游戏开发之旅了。
双击Greenfoot图标后,如果是第一次运行Greenfoot会弹出一个对话框问你是不是要打开自带例子什么的,直接无视。个人觉得Greenfoot的自带案例,包括直接百度到的一些十几页的简单教程,都是很坑爹的。什么袋熊的螃蟹的例子,简直是给小学生看的,又没可玩性又没技术含量又没啥代表性,反正我是一个都不喜欢。
所以我们直接选择一个“Start Without XXX”的选项(具体我忘了,因为我不是第一次运行,也就没法验证了),打开一个空的工程。或者随便点进去后自己新建一个新的工程。
我这里建了一个叫“Blank”的空白工程,于是我们将看到这样一个界面
这就是Greenfoot的主界面了。
相比Eclipse是不是感觉界面友好多了,简洁的很有木有。
4.切换中文界面
有朋友可能觉得英文好难看懂,我想换成中文界面。Greenfoot作为一款非常国际化的工具,自然也是有简体中文版本的。
切换语言的方法见此链接:http://www.greenfoot.org/translations
仅仅是为了防止你的英语已经烂到连这个页面都看不懂了,我再简单说下(如果真是因为看不懂而不是因为懒得看的话,你最好补习下一些基本的英语,不然写代码会很吃力的;如果你是懒得看,尼玛,最好勤快点,不然你学不好任何东西的):
(1).进入Greenfoot根目录下的lib文件夹(如我是D:\Program Files\Greenfoot\lib),然后用记事本打开里面的greenfoot.defs。翻翻翻,找到这么一堆:
(2).把
bluej.language=english
这一行前面加上一个#,同时把
#bluej.language=chinese
这一行前面的#去掉,保存。重新进入Greenfoot就行了。
至于我为什么有两行#bluej.language=chinese,我记得是我自己胡改的,至于你信不信,反正我是信了。
(3).我觉得中文翻译挺傻的,所以只是看过一次我就果断又换回的了英文。接下来的文章我会根据英文界面来写。再次重申,如果你的英语甚至不能应付如此简单的运用的话,赶紧补习下吧。
这次就到这儿了,下次从介绍Greenfoot的界面开始。