JavaFX 中的日食动画与多媒体应用
一、日食动画示例
1.1 日食动画概述
日食动画是 JavaFX 中动画与视觉变化结合的一个很好示例。在日食过程中,月亮穿过太阳,导致白天出现黑暗时段,太阳也会有相应变化,如全食前后会出现日冕爆发。这里展示了两种基本相同的动画实现方式,一种基于 JavaFX 形状,另一种使用由 Adobe Illustrator 生成的图形资产。
1.2 基于 JavaFX 形状的实现
1.2.1 创建自定义节点
首先需要为主要图形对象(蓝天、黑夜、月亮、太阳、日冕爆发和全食)创建自定义节点,每个对象都继承自 javafx.scene.CustomNode
并实现 create()
抽象函数。
- 蓝天(BlueSky) :是一个矩形,使用从淡天蓝色到白色的线性渐变填充。
public class BlueSky extends CustomNode {
public var width:Number = 600;
public var height: Number = 600;
public override function create(): Node {
Rectangle {
width: bind width
height: bind height
fill: LinearGradient {