38、JavaFX 3D 手势交互与 Leap Motion 控制器应用

JavaFX 3D 手势交互与 Leap Motion 控制器应用

1. JavaFX 3D 场景中的触摸、旋转和缩放

在操作 3D 场景时,旋转和缩放是最常见的交互方式,主要用于移动和改变对象或相机的方向。将手势支持集成到 3D 应用程序中,是对传统鼠标和键盘操作的自然增强。JavaFX 的 Shape3D 对象,无论是基本图形还是自定义三角网格,默认都支持所有手势事件,如旋转和缩放。

为了演示如何在 JavaFX 3D 场景中使用手势事件,我们以一个三角网格示例为例,添加触摸静止、旋转和缩放手势事件。

1.1 基础三角网格示例

创建四个金字塔三角网格对象,每个对象添加到 MeshView 容器中以使其可见。每个 MeshView 容器添加到 Group 节点,然后将 Group 节点添加到 3D 场景图中。

1.2 添加旋转手势事件

我们希望通过为每个金字塔添加旋转手势事件来增强场景。用户应该能够触摸金字塔,然后使用旋转手势绕 z 轴旋转它。为了实现这一点,我们需要添加旋转手势的事件处理程序。

首先,我们需要确定要旋转的屏幕对象。如果在多点触摸模式下,我们需要先添加 OnTouchStationary 事件处理程序。OnTouchStationary 事件表示发生了一次触摸并保持在同一相对位置,这与 OnTouchPressed 和 OnTouchMoved 事件不同,后两者在设备上发生任何触摸时立即触发,无论是否是移动手势的一部分。

以下是选择活动节点的事件处理程序:

scene.setOn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值