gpt4 book ai didi

java - 在 Java3D 中选择并移动多个形状

转载 作者:行者123 更新时间:2023-12-01 05:37:04 24 4
gpt4 key购买 nike

有没有一种简单的方法可以在 Java3D 中同时选择和移动(旋转、平移、缩放)多个形状?我看过一些示例,您可以选择(单击)单个形状并拖动它,但我还没有找到选择和移动多个形状的简单方法。

我想要做的是:

  • 屏幕上有许多未选择的形状
  • 选择一个或多个形状(通过单独单击或拖动框)
  • 使用鼠标监听器仅移动选定的形状
  • 当形状未被选择时,它们应该留在原处并停止移动
  • 添加新形状后,它们应留在原处并开始移动

我最初的想法是有 2 个分支组“选定”和“未选定”。 Selected BranchGroup 将具有附加到根的父 TransformGroup,Unselected BranchGroup 将直接附加到根。当项目被选择时(我可以使用 PickCanvas 来完成),它们将从未选定的 BG 中删除并放入选定的 BG 中。

这样做的主要问题是,当选择或取消选择形状时,形状会跳跃。这是因为他们正在经历他们将要经历的群体的转变。

我觉得可能有一些更简单的方法可以做到这一点,也许可以利用 Java3D 中内置的东西。

最佳答案

我想出的最好方法是使用我在最初的问题中建议的 2 Branch Group 方法。

您创建 2 个分支组,一个用于选定的节点,一个用于未选定的节点。当您将节点从一个组移动到另一组时,必须平移各个节点,使它们保持在当前位置,而不是跳转到它们要加入的新分支组的平移。

关于java - 在 Java3D 中选择并移动多个形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8013331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com