- 浏览: 199957 次
- 性别:
- 来自: 湖南
文章分类
最新评论
-
kongyumi:
电话18800163600
初学certificate -
kongyumi:
解压密码多少?求告知
初学certificate -
船到桥头自然沉:
初学certificate -
笑海人胜:
...
JavaFX学习之Preloader -
kanjiantaiyang:
引用[img][/img][url][/url][b][/b] ...
security
Animation 抽象类,提供动画功能。
方法
setAutoReverse(true); //设置是否可以反转,反转算一次循环
setRate(1) //设置完成时间的比率,1是在Duration时间内完成,2是比duration快一倍时间完成。
setDelay(Duration.seconds(3)) //设置延迟时间执行
setCycleDuration(Duration value) //循环的间隔
setOnFinished(EventHandler<ActionEvent> value) //完成后处理事情
属性:
autoReverse
currentRate
currentTime
cycleCount
cycleDuration
delay
onFinished
rate
status
totalDuration
AnimationTimer
可以自己在handle中控制,什么时候调用你自己的逻辑。
Transition 抽象类,继承Animation,拥有一些实现子类,实现了特定的动画。
方法:
setInterpolator(Interpolator value)
getParentTargetNode()
FadeTransition 淡入淡出,其实就是修改opacity透明度属性
opacity的值是0到1,所以设置fromvalue和tovalue在这之间。
FillTransition 颜色变化,针对shape,修改的fill属性。
PathTransition按path移动,主要是调节translateX,Y
属性:
duration
node
orientation
path
PauseTransition停止,就相当sleep了一下
方法:
setDuration(Duration value)
interpolate(double frac)
RotateTransition旋转,修改rotate属性,实现旋转
属性:
fromAngle
toAngle
byAngle
duration
axis
node
ScaleTransition大小,修改scale属性,实现大小变化
StrokeTransition画笔的颜色变动,针对shape,修改stroke属性。
TranslateTransition位置移动(translateXYZ)修改translateX,Y,X
ParallelTransition同时运行多个animation
SequentialTransition逐个运行animation
Interpolator 插值器,一般动画的变化都是线性增长,如你想改变增长的方式,则通过该类定义。
Timeline 通过timeline你可以自己实现一些动画。
KeyFrame timeline最关键的是KeyFrame,代表一帧,可以看下它的构造方法
KeyFrame(Duration time, EventHandler<ActionEvent> onFinished, KeyValue... values) //这一帧所执行的时间,执行完后做什么事情,还有一堆KeyValue在这一帧内的变化。
KeyValue 定义一个值在帧内的变化
KeyValue(WritableValue<T> target, T endValue) //目标值,结束值。 目标值在这一帧内往结束值变化。
方法
setAutoReverse(true); //设置是否可以反转,反转算一次循环
setRate(1) //设置完成时间的比率,1是在Duration时间内完成,2是比duration快一倍时间完成。
setDelay(Duration.seconds(3)) //设置延迟时间执行
setCycleDuration(Duration value) //循环的间隔
setOnFinished(EventHandler<ActionEvent> value) //完成后处理事情
属性:
autoReverse
currentRate
currentTime
cycleCount
cycleDuration
delay
onFinished
rate
status
totalDuration
AnimationTimer
public class Animator extends AnimationTimer{ Duration delayTime; private long last; public Animator(Duration delayTime){ this.delayTime = delayTime; } @Override public void handle(long now) { if((now - last)/1000000>delayTime.toMillis()){ last = now; pulse(); } } public void pulse(){ //logic System.out.println("pulse"); } }
可以自己在handle中控制,什么时候调用你自己的逻辑。
Transition 抽象类,继承Animation,拥有一些实现子类,实现了特定的动画。
方法:
setInterpolator(Interpolator value)
getParentTargetNode()
FadeTransition 淡入淡出,其实就是修改opacity透明度属性
Rectangle rect = new Rectangle (100, 40, 100, 100); rect.setArcHeight(50); rect.setArcWidth(50); rect.setFill(Color.VIOLET); FadeTransition ft = new FadeTransition(Duration.millis(3000), rect); ft.setFromValue(1.0); ft.setToValue(0.3); ft.setCycleCount(4); ft.setAutoReverse(true); ft.play(); root.getChildren().add(rect);
opacity的值是0到1,所以设置fromvalue和tovalue在这之间。
FillTransition 颜色变化,针对shape,修改的fill属性。
public void buildFillTransition(Group root){ Rectangle rec = new Rectangle(50,50,100,100); FillTransition ft = new FillTransition(); ft.setDuration(Duration.seconds(5)); ft.setFromValue(Color.BLACK); ft.setToValue(Color.WHITE); ft.setShape(rec); ft.play(); root.getChildren().add(rec); }
PathTransition按path移动,主要是调节translateX,Y
PathTransition pathTransition = new PathTransition(); pathTransition.setDuration(Duration.millis(10000)); pathTransition.setNode(rect); pathTransition.setPath(path); pathTransition.setOrientation(OrientationType.ORTHOGONAL_TO_TANGENT); pathTransition.setCycleCount(4); pathTransition.setAutoReverse(true); pathTransition.play();
属性:
duration
node
orientation
path
PauseTransition停止,就相当sleep了一下
Rectangle rect = new Rectangle (100, 40, 100, 100); rect.setArcHeight(50); rect.setArcWidth(50); rect.setFill(Color.VIOLET); RotateTransition rt = new RotateTransition(Duration.millis(3000), rect); rt.setByAngle(180); rt.setCycleCount(4); rt.setAutoReverse(true); SequentialTransition seqTransition = new SequentialTransition ( new PauseTransition(Duration.millis(1000)), // wait a second rt ); seqTransition.play();
方法:
setDuration(Duration value)
interpolate(double frac)
RotateTransition旋转,修改rotate属性,实现旋转
Rectangle rect = new Rectangle (100, 40, 100, 100); rect.setArcHeight(50); rect.setArcWidth(50); rect.setFill(Color.VIOLET); RotateTransition rt = new RotateTransition(Duration.millis(3000), rect); rt.setByAngle(180); rt.setCycleCount(4); rt.setAutoReverse(true); rt.play(); root.getChildren().add(rect);
属性:
fromAngle
toAngle
byAngle
duration
axis
node
ScaleTransition大小,修改scale属性,实现大小变化
Rectangle rect = new Rectangle (100, 40, 100, 100); rect.setArcHeight(50); rect.setArcWidth(50); rect.setFill(Color.VIOLET); ScaleTransition st = new ScaleTransition(Duration.millis(2000), rect); st.setByX(1.5f); st.setByY(1.5f); st.setCycleCount(4); st.setAutoReverse(true); st.play();
StrokeTransition画笔的颜色变动,针对shape,修改stroke属性。
Rectangle rec = new Rectangle(50,50,100,100); StrokeTransition st = new StrokeTransition(); st.setDuration(Duration.seconds(5)); st.setFromValue(Color.BLACK); st.setToValue(Color.RED); st.setShape(rec); st.play(); root.getChildren().add(rec);
TranslateTransition位置移动(translateXYZ)修改translateX,Y,X
Rectangle rec = new Rectangle(50,50,100,100); TranslateTransition tt = new TranslateTransition(); tt.setDuration(Duration.seconds(5)); tt.setByX(400); tt.setNode(rec); tt.setAutoReverse(true); tt.setRate(2); //tt.setDelay(Duration.seconds(3)); tt.setOnFinished(new EventHandler<ActionEvent>(){ @Override public void handle(ActionEvent arg0) { System.out.println("finished"); } }); tt.play();
ParallelTransition同时运行多个animation
SequentialTransition逐个运行animation
Interpolator 插值器,一般动画的变化都是线性增长,如你想改变增长的方式,则通过该类定义。
Timeline 通过timeline你可以自己实现一些动画。
KeyFrame timeline最关键的是KeyFrame,代表一帧,可以看下它的构造方法
KeyFrame(Duration time, EventHandler<ActionEvent> onFinished, KeyValue... values) //这一帧所执行的时间,执行完后做什么事情,还有一堆KeyValue在这一帧内的变化。
KeyValue 定义一个值在帧内的变化
KeyValue(WritableValue<T> target, T endValue) //目标值,结束值。 目标值在这一帧内往结束值变化。
发表评论
-
JavaFX学习 EventFilter
2013-01-11 10:41 3675EventFilter可以让你在事件捕捉过程中处理一些东 ... -
JavaFX学习 事件Event
2013-01-04 13:54 0常用的时间一般分为鼠标事件和键盘输入事件,看一下这些事件 ... -
JavaFX学习 自定义控件
2013-01-04 14:19 8150Control,Skin,behavior 在java ... -
JavaFX学习 位置计算
2012-12-31 15:22 1283如何得到节点在window中的位置 Point2D p ... -
JavaFX学习之Image
2013-01-11 13:53 7338ImageView and Image ImageVi ... -
JavaFX学习之Concurrent
2012-12-13 16:48 0Service Task public class ... -
JavaFX学习之Geometry
2012-12-13 16:45 0BoundingBox Bounds Dim ... -
JavaFX学习之Canvas
2013-01-15 16:20 4264Canvas and GraphicsContext ... -
JavaFX学习之Input
2012-12-13 16:39 0InputEvent Clipboard and ... -
JavaFX学习之Media
2012-12-13 16:32 0javafx支持视频和音频的播放,可以看media包下的 ... -
JavaFX学习之Paint
2012-12-13 16:29 0Paint Color ImagePatte ... -
JavaFX学习之Chart
2013-01-15 16:01 9281Chart 分piechart 和XYChart 再看看 ... -
JavaFX学习之Transform
2013-01-15 19:11 5630Transform为Node提供仿射变换,如旋转,尺度变 ... -
JavaFX学习之Effect
2013-01-14 15:53 1854Effect 抽象类,所有特殊效果的父类。 Ble ... -
JavaFX学习之Animation
2012-12-13 16:02 0Animation AnimationTimer ... -
JavaFX学习之Stage
2012-12-13 15:55 0Window Stage 刚开始的Stage由平 ... -
JavaFX学习之Web
2013-01-12 16:06 12709PopupFeatures 处理新窗口 WebHi ... -
JavaFX学习之Scene
2012-12-13 15:49 0Node setManaged(boolean va ... -
JavaFX学习之Layout
2013-01-15 16:03 12702Region 继承parent,被 ... -
JavaFX学习之Control
2012-12-13 14:25 10668Control Control类控件通常由Control, ...
相关推荐
1. **JavaFXChina.Net**:该网站是国内知名的 JavaFX 学习资源站点之一,提供大量的教程和技术文档,适合初学者入门以及进阶学习。 - **主要特色**: - **详尽的文档**:涵盖 JavaFX 的各个方面,从基础概念到高级...
短跑 JavaFX的动画框架,使动画变得异常简单。推荐指南我做了一个更好的指南 我强烈建议您改为去那里。 您也可以在查看安装和演示只需从此页面的发行部分添加.jar即可安装Sprint。 您还可以运行.jar来查看使用Sprint...
在动画和时间管理方面,JavaFX的Timeline和Animation类提供了强大的工具。开发者可能利用这些类创建游戏中的动画效果,如植物的种植过程、僵尸的移动和攻击动作等,以保持游戏的流畅性和节奏感。 性能优化也是...
1. **Scene Graph**:场景图是JavaFX的核心概念之一,所有可视化元素都以节点形式存在于一个树状结构中。 2. **UI Controls**:JavaFX 提供了一系列内置的UI控件,如按钮、文本框等,开发者可以直接使用这些控件来...
对于更复杂的多媒体应用,你还可以探索JavaFX的`Timeline`和`Animation`类,以实现更丰富的交互效果。 总之,这个"JavaFX播放视频(flv)例子"是一个很好的起点,可以帮助你掌握JavaFX的基本用法,并且逐步了解如何...
解压后,开发者可以查看和运行源代码,学习如何将JavaFX动画技术应用于自己的项目中。 总之,JavaFX的动画系统为开发者提供了丰富的功能,使得创建动态用户界面变得简单且直观。通过掌握这些基础知识,你可以创造出...
为了实现"Tree animation",开发者需要具备扎实的Java基础知识,包括面向对象编程、事件处理、以及对Swing或JavaFX组件的理解。同时,熟悉动画原理和时间线控制也是必不可少的。通过实践和调试,我们可以创造出流畅...
2. **陨石生成与运动**:JavaFX的Timeline或Animation类可能被用来创建陨石的动画效果,使其从屏幕顶部随机位置向下运动。 3. **碰撞检测**:通过比较陨石和玩家飞船的位置,判断是否发生碰撞,这通常涉及到几何...
3. **动画和定时器**:JavaFX的Timeline和Animation类可以创建流畅的动画效果,比如角色移动、楼层切换等。同时,Timer或ScheduledExecutorService可以用于定期执行某些任务,比如检查游戏是否达到新的层级或者时间...
学习JGoodies Animation,首先应熟悉其基本概念,如动画对象、时间线和关键帧。然后,通过官方文档和示例代码来实践操作,理解如何创建和控制动画。此外,了解如何将动画效果与Java Swing或JavaFX等UI库结合也是必不...
4. **动画(Animation)**:JavaFX提供了Timeline、Transition等工具来创建动态效果,如角色的移动、攻击动作等。 5. **事件处理(Event Handling)**:游戏中的交互通常基于事件,如键盘输入、鼠标点击等,开发者...
总的来说,AnalogFXClock项目是JavaFX学习和实践的一个好例子,它涵盖了图形设计、事件处理和动画等核心概念,对理解JavaFX框架有很好的帮助。通过阅读和分析源代码,开发者可以深入学习JavaFX的特性和实际应用。
"Blindpipes-JavaFX-Game" 是一个基于JavaFX平台开发的游戏项目。JavaFX是一个用于构建桌面、移动和嵌入式设备上的丰富用户界面的框架。...通过深入研究这个项目,开发者可以学习到如何利用JavaFX构建自己的游戏。
JavaFX提供Timeline和Animation Timeline类来实现这种类型的效果。 4. **Event Handling**: 在动画中,事件处理是非常重要的,因为用户交互常常触发动画。例如,点击按钮可能开始一个动画序列。 5. **...
import javafx.animation.TranslateTransition; import javafx.scene.layout.StackPane; import javafx.scene.shape.Rectangle; import javafx.stage.Stage; import javafx.util.Duration; public class ...
import javafx.animation.TranslateTransition; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layout.Pane; import javafx.scene.paint.Color; import javafx.scene....
- **动画与定时器**:JavaFX的Timeline和Animation API可用于创建复杂的动画效果,定时器则用于控制游戏的节奏。 3. **图形与图像处理**: - **Canvas**:JavaFX的Canvas API允许开发者直接在画布上绘制图形,...
总之,"PaintFX" 类项目是一个很好的学习资源,它结合了 JavaFX 的强大功能和绘画软件的实用特性,有助于开发者提升在图形界面开发领域的技能。通过研究该项目的源代码,可以深入了解 JavaFX 的工作原理,并将其应用...
开发者可能使用了JavaFX的Scene、Stage、Nodes(如Button、Label、TableView等)和Animation API来构建交互式的界面,使用户能直观地了解RAID的工作机制。例如,用户可能能够添加虚拟硬盘,选择RAID级别,观察数据...
通过研究这个示例,初学者可以学习到如何在 JavaFX 中组织代码,创建用户界面,响应用户输入,并制作动态效果。对于有经验的开发者,它也可能作为一个快速参考,提醒他们关于 JavaFX 的关键特性。无论你是初涉 ...