怎样用JavaFX编写游戏:吃豆人(Pac-Man)之三

Rss Rss_google Rss_zhuaxia Rss_xianguo

 

本周发表了第4篇文章。在这篇文章中,主要介绍了吃豆人和精灵之间互动的代码实现。

 

到上一篇文章为止,我们已经实现了游戏中所有的人物。现在我们来增加吃豆人和精灵追逐和互“吃”的处理逻辑。如果吃豆人和精灵相遇,只有两种情况,吃豆人吃掉精灵或者反之。如果吃豆人刚刚吞吃了魔法豆,他可以吃掉精灵,否则吃豆人就会损失一条命,这时,需要播放一段吃豆人消失的动画(如下图所示):

 

这个动画在DyingPacMan类中实现,代码如下:

 

 

在这个动画中,定义了2个KeyFrames,一个在600ms,另一个在1800ms。在这两个关键帧中采用了JavaFX的线性插值(Interpolator.LINEAR)方式。线性插值的作用就是把动画中数据按照时间关系,在帧与帧之间线性变化,从而实现平滑的动画效果。在上述代码中,两个实例变量:startAnglelength, 通过线性的均匀变化,实现了我们需要的动画过程。参考下图的时间轴。第一个关键帧的时间是600ms而不是0ms,是因为我们希望游戏在这瞬间稍微停顿600ms。

 

好啦,到目前为止,游戏已经基本完成了,可以玩了。唯一不足就是精灵现在还是随机移动的,游戏的难度不大。不要紧,我们将在下周的文章中详细讨论。现在就点击下图来试一下这个游戏吧:(JDK1.5以上, Java Web Start 自动启动)





相关文章:

JavaFX应用实例、例子
用JavaFX编写的游戏Pac-Man
JavaFX Guy的博客
JavaFX 1.2的新特性
怎样用JavaFX编写游戏:吃豆人(Pac-Man)

JavaFX吃豆人游戏的编写过程之二
JavaFX游戏吃豆人的编写过程  怎样用JavaFX编写游戏:吃豆人(Pac-Man)之二 

JavaFX的Effect功能例子:编写许愿树程序 (1)

JavaFX的Effect功能例子:编写许愿树程序(2)

JavaFX的Effect功能例子:编写许愿树程序(3)

 

英文文章连载:

第一篇文章,2009年5月14日: Writing the Pac-Man Game in JavaFX - Part 1

第二篇文章,2009年5月21日: Writing the Pac-Man Game in JavaFX - Part 2

第三篇文章,2009年5月28日: Writing the Pac-Man Game in JavaFX - Part 3

第四篇文章,2009年6月4日:  Writing the Pac-Man Game in JavaFX - Part 4

你可能感兴趣的:(JavaFX编程)