java小游戏简单逻辑实现

总结了几个在写小游戏时会遇到的问题,可能会对你有帮助

1.计时器的使用:

timer定义在外边,利用timer类的schedule方法,实现对任务的定时执行

,这个方法有三个参数,第一个是一个接口,写一个匿名内部类,实现run方法,第二个参数就是第一张的delay,意思是延迟时间,第三个参数period是刷新频率,所以这串代码的意思就是在延迟0ms以后,每隔10ms执行一次run方法内的任务,并且不会对主线程造成阻塞

2.对界面的刷新:

对界面的刷新因该交给repaint函数,因为repaint函数会自动调用paint函数实现对界面的刷新,所以正确的使用方法应该是将要绘制的内容写在paint方法中,在run方法中调用repaint函数实现对界面的定时刷新

3.物体的绘画

我们在向界面上添加物体时,最好用drawImage方法将图片直接贴在界面上,而不是使用绘画函数一点一点的绘制出来,这样不仅麻烦,而且对程序的运行和后面逻辑的实现都没有好处,一定注意图片需要时png格式

4.碰撞检测机制的使用

Java中有一个类叫Rectangle,我们可以调用其中的intersects方法判断两个矩形是否重叠,如果返回true,说明两个物体放生了碰撞。前面我们将物体的图片贴在界面上,我们将物体返回一个矩形,然后用另一个物体调用intersects与这个矩形判断即可实现对碰撞的检测


5. 使用双缓冲机制绘图

正常情况下,我们在绘制图片时都是将一个个图片直接绘制在界面上,但是当要绘制的内容很多时,绘制的流畅都往往会降低,所以正确的操作应该是先将所有的图片绘制到一张空白的图片上,然后将这张绘制好的图片绘制在面板上,代码实现如下

screenImage的类型就是Image,我们先将这个空图片创建出来,然后获取画笔,即gImage,然后用gImage向这个空的图片上绘制内容,最后再用面板的画笔,即g,向面板上绘制这张绘制有其他内容的绘制好的图片,这样就是双缓冲机制绘图,能解决绘制内容过多而卡顿的情况。

以上的几个方法在写java小游戏的时候可能都会用到,希望对你有所帮助。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容