读书人

JavaFX游戏开发-第一课 玲珑动画

发布时间: 2012-07-30 16:19:05 作者: rapoo

JavaFX游戏开发--第一课 精灵动画

一直在关注JavaFX的发展,最近想试试使用JavaFX开发游戏是什么样的情况。可惜令我汗颜的是--没有找到类似于Java 2D中Graphics/Graphics2D之类的类。自己单纯的继承Node的话,也没办法自己进行绘制。看来目前使用JavaFX进行游戏开发,只能使用JavaFX的Shape和ImageView了。

今天花时间写了个JavaFX的精灵的动画的例子,让我们看看在JavaFX中如何操作精灵的动画吧。

首先创建一个JavaFX项目。

暂时不进行Scene的创建,因为我们要使用自定义的Parent。


我们先进行创建一个Sprite类,继承Parent。 这就是我们的精灵类了。

下面来看看代码:

精灵动画,我这里暂且使用很常见的RPGMaker VX中的默认的精灵图片。

JavaFX游戏开发-第一课 玲珑动画

我们以这个精灵为标准,从左上到右下,索引也就是Sprite中的index是从0-11。


那么我们在使用ImageView.setViewport()时就要进行相应的处理。最简单的就是X方向(index % 3) * width, Y方向(index / 3 ) * height。 当index到3时,就进入第二行动画。相应的从0, 0,width, height 也变为了0, height, width, height。

然后通过setLayoutX()进行改变精灵的坐标,产生正在行走的效果。


为了避免精灵方向切换的时候,动画出现异常问题(可能会停留一帧上一个方向的动画帧)。我们又创建了一个lastDirection的方向枚举类型。用来标识上一次的方向。如果方向相同,则不做处理,如果方向不同,则要把当前帧切换到当前方向的第一帧。


向下走:

JavaFX游戏开发-第一课 玲珑动画


那么JavaFX游戏开发的第一课就讲到这里了。其实很简单,就是单纯的一个精灵动画的实现而已。所以我们并没有创建精灵的基类等工作。


后面的课程中,我们将会进行游戏地图,对话框等的加入。

本人水平不佳,望大家指正。一起进步。


转载请注明出处:http://blog.csdn.net/ml3947

1楼asparation2小时前
近来更新速度不错啊!!

读书人网 >网络游戏

热点推荐