太阳系模型
初学JAVA,做个笔记记录一下,也是方便自己理清思路和温习,如有同道中人一起交流更是美哉。
先放上最后太阳系模型的效果图一张。接下来看一下这个模型的详细过程。
第一步:也是GUI编程的第一步,先有一个显示窗口。(这里的这个显示窗口已经自带了放大和缩小的功能,但是没有关闭窗口的功能,需要我们自己添加一段代码来实现这个熟悉的小功能)
第二步:背景图片的加载,太阳,等各个行星图片的加载(在这里为了看起来明了,我们建一个文件夹,实际也相当于一个包,来存放我们待会需要用到的所有图片,文件夹名(包名)为images)
第三步:因为行星要转动,所以我们需要让这个行星可以按照任意轨迹运动,同时也需要画出它的运动轨迹。
第四步:当学会了前面的。下来再添加其他行星就是照猫画虎了。
代码说明:一般游戏开发会将一些常量进行封装,封装成Constant类,我们这里也模仿这样的操作。还有一些工具类也会进行同样的封装,我们这里把这些类都放到一个自己新建的Util包里面。
下来分别详细介绍一下这个包里里面封装的三各类;
1,Constant 主要放一些常量
这里面只存放了两个常量,就是第一步我们要显示的那个窗口的宽个高。
2,GameUtil主要是图片的加载
``
3,MyFrame主要是窗口的加载
接下来再重新创建一个新的solar包,用来实现我们的太阳系模型
solar包里面有三个类,下来分别介绍一下其功能
1,先介绍Star类,这里面主要是放了一些所有行星都具有的常量,和都需要用到的方法。
2,Planet类主要是画出行星的运动轨迹和使行星按照运动轨迹去运动,这里面添加了一个判断行星是不是卫星的语句,其作用是假如是卫星的画就不画出它的运动轨迹,主要是为了美观。
3,最后看一下SolarFrame包,这个包主要就是实现,通过调用刚才写的类的方法实现
这个小项目实际很简单,主要是对面向对象的理解,和对重载的理解。