`

JavaFX之3 动画与事件处理

 
阅读更多

(1)JavaFx动画制作类似与FLASH,学过的都知道FLASH里是用帧来制作动画,JavaFx里也是根据帧来的。


首先动画制作要用到Timeline,也就是 javafx.animation.Timeline;
定义一个Timeline:

上面一例的完全形式也可以是:

1.两个x,分别表示该动画的运动方式,从x=0到x=200.


2.Interpolator.LINEAR表示线性插值(汗。学过线性代数的都知道。。偶线性代数只是刚好过了。分不高。),当然也可以用其他插值形式,详情请自己查询API,javafx.animation.Interpolator里。。


3.最后的.play()方法,是指动画开始,也可以调用stop(),pause(),playFromStart()等方法.


4.注意上面例子里x是变量,需要定义。


下面我们就根据上面的动画知识,来做个简单的JavaFX动画吧。

注意:
1.autoReverse: true是设置动画物体到末帧时会反弹回来~。这个挺方便的。repeatCount: Timeline.INDEFINITE,设置动画重复播放的。


2.上面用到的渐进色,在前一篇文章中讲过的。


3.关于定义,用var定义的话,以后变量可以改变。用def定义将不能改变~

由于是动画,请大家自己运行~效果图看不出来什么。

(2)事件处理
这里只讲一点键盘事件处理,上面做了个动画的小例子,但是运行过的人都发现,这个动画是无法控制的。也就是说,它是自动运行,然后不会停止。下面我们就来添加键盘事件,来控制它的播放,暂停,停止和从头开始吧。
键盘事件需要用到javafx.scene.input.KeyCode和javafx.scene.input.KeyEvent.
只是几个方法,我就不多说了。直接给出源码~

1.Group就不多说了,就是一个组,可以把许多图形组成一个图形,事件处理可以只处理那组合后的图形~


2.上述事件处理,只监听了水平方向的运动。


程序运行效果是:
一开始它是竖直运行的,按Z键,开始水平运动,按X,暂停水平运动,按C,停止水平运动,按V,水平运动从头开始。
注意了,以上运行中,竖直方向的运动一直存在,加上水平运动后,就是合成运动了。

分享到:
评论

相关推荐

    基于SWING+JAVAFX的MP3播放器

    总的来说,这个项目是一个综合性的Java编程实践,涵盖了GUI设计、多媒体处理、事件处理等多个方面,对于学习和提升Java应用开发技能是非常有价值的。通过这个项目,开发者不仅可以深入了解MP3音频格式,还能掌握...

    JavaFX学习之样例8

    学习这个样例有助于理解JavaFX的基本元素、布局管理、动画和事件处理。通过这种方式,开发者可以掌握如何构建自己的复杂和动态的用户界面。对于想要深入学习JavaFX的初学者来说,这样的实践项目是非常有价值的。

    javafx实现好看的界面

    1. **图形和媒体支持**:JavaFX提供了Canvas API,允许开发者进行低级的图形绘制和动画处理。此外,它还内置了对音频和视频的支持,可以轻松地集成多媒体内容到应用程序中。 2. **Scene和Nodes**:Scene是JavaFX...

    JavaFX学习资料总结

    四、JavaFX动画与过渡 1. Timeline和AnimationTimer:JavaFX提供Timeline类用于创建基于时间的动画,AnimationTimer则可以实现高精度的定时任务。 2. 动画类型:包括旋转(RotateTransition)、缩放...

    中南大学JAVA实验报告-运用JavaFx画时钟运用JavaFx实现时钟动画.doc

    【JavaFX时钟动画实现详解】 JavaFX是一个用于创建桌面应用、移动应用和网页应用的开源图形用户界面(GUI)工具包。它提供了丰富的UI组件和强大的2D/3D图形处理能力,使得开发者能够构建出具有现代感、互动性强的...

    JavaFx 官方源码例子

    通过Ensemble8,开发者可以学习到如何组合不同的JavaFX组件和功能来构建复杂的UI,并且理解如何利用JavaFX的事件处理机制。 这些源码实例为学习JavaFX的开发者提供了宝贵的资源。它们不仅能够帮助初学者快速上手,...

    JAVAFX之数独游戏(多功能)

    9. **事件处理**:JavaFX中的事件处理机制允许程序对用户交互做出响应。例如,当用户点击一个单元格时,程序需要捕获这个点击事件并处理相关的逻辑,如激活输入模式或显示提示信息。 10. **CSS样式**:JavaFX支持...

    JavaFX初学者指南

    4. **Graphics and Animation**:图形与动画处理层,负责绘制图形和处理动画效果。 5. **Web and Network Services**:网络服务层支持网络请求等功能,同时允许在JavaFX应用中嵌入HTML页面。 #### 四、JavaFX基础...

    《JavaFX Essentials》 源码

    JavaFX是一个用于构建桌面、移动和嵌入式设备上的富互联网应用程序(RIA)的平台,它基于Java语言,提供了丰富的UI组件和动画效果。 1. **JavaFX简介**: JavaFX为开发者提供了创建美观、互动的图形用户界面的能力...

    JavaFX的piano应用

    JavaFX是一种强大的、基于Java的用户...开发者在创建这样的应用时,需要掌握JavaFX的基本概念,理解事件处理、音频处理,以及如何通过动画和响应式设计提升用户体验。同时,对模块化打包和部署的理解也是必不可少的。

    基于JAVAFX的钢琴小工具

    总的来说,“基于JAVAFX的钢琴小工具”展示了JavaFX在创建富互联网应用程序中的强大能力,结合了图形用户界面设计、音频处理、事件处理和动画技术,提供了一种趣味性的学习和娱乐体验。通过深入理解这些知识点,...

    JavaFx函数库[参照].pdf

    * MouseEvent:MouseEvent 是 JavaFx 中的鼠标事件类,提供了鼠标事件处理的功能。 * KeyEvent:KeyEvent 是 JavaFx 中的键盘事件类,提供了键盘事件处理的功能。 布局和对齐 * Layout:Layout 是 JavaFx 中的布局...

    javaFX实验,实现风扇动画

    总结来说,"javaFX实验,实现风扇动画"是一个涉及JavaFX图形绘制、动画控制、用户交互和事件处理的实践项目。通过这个实验,开发者不仅可以掌握JavaFX的基础知识,还能提升对动态图形编程的理解和应用能力。在实际...

    JavaFX官方教程(中文版)

    - **高级特性**:可能包括动画、Web视图、网络通信、JavaFX与Swing的集成等进阶主题。 通过学习这个官方教程,开发者不仅可以掌握JavaFX的基本用法,还能深入了解其高级特性,从而开发出功能强大、视觉效果出色的富...

    javaFX Demo 模板案例

    通过`javafx.scene`包下的类,例如`Group`、`Shape`和`Scene`,可以绘制各种几何形状,添加动画效果,实现复杂的视觉呈现。如果这个Demo包含图形元素,我们可以学习到如何在JavaFX中绘制和操作2D或3D图形。 媒体...

    JavaFx电子书HTML格式

    JavaFX提供了丰富的控件库,如按钮、文本框、菜单等,以及动画、图形和媒体处理功能。 5. **CSS样式**: JavaFX支持CSS(层叠样式表)来定制UI的外观。这使得开发者可以像设计Web页面一样,为JavaFX应用定义样式。 ...

    Building GUI Applications With JavaFX

    5. **事件处理**:JavaFX的事件处理系统使得与用户交互变得简单,可以通过监听和处理各种事件(如点击、拖拽等)来响应用户的操作。 6. **FXML**:FXML是JavaFX的一种标记语言,用于描述UI布局和控件的绑定,分离了...

    JAVAFX的贪吃蛇以及可以用Swing打开的JAVAFX的贪吃蛇

    3. **动画与定时器**:JavaFX的Timeline或AnimationTimer类可以用于实现游戏中的动态效果,如蛇的移动。定时器会在特定间隔触发,更新游戏状态并重绘屏幕。 4. **游戏逻辑**:贪吃蛇游戏的核心逻辑包括蛇的移动、...

    javafx整理资料

    JavaFX支持2D和3D图形、媒体处理、CSS样式、动画以及与Java标准库的无缝集成,提供了现代UI设计所需的各种组件。 2. JavaFX核心技术 - **Scene Graph**: JavaFX的核心是场景图,它是一个树形结构,包含了应用的...

    Mastering JavaFX 8 Controls 英文版

    3. JavaFX 8特性:JavaFX 8提供了许多新的特性,比如对移动设备的支持、对动画和图形的改进以及性能的提升。JavaFX 8还支持lambda表达式和Java 8的其他新特性,方便编写更简洁的代码。 4. 用户界面设计:本书将会...

Global site tag (gtag.js) - Google Analytics