查看: 2977|回复: 9
打印 上一主题 下一主题

[红蓝3D] Java3D基础(九)

[复制链接]

130

主题

1

听众

6206

积分

高级设计师

Rank: 6Rank: 6

纳金币
6206
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-2-13 09:04:30 |只看该作者 |倒序浏览
使用Behavior 类可以使场景动起来并实现交互。Behavior 类实际上提供了一种修改场景图的机制,Behavior 类由刺激(例如鼠标)触发。Behavior 类也有界限和能力位,下面来看一些 Behavior 处理的基本内容。

WakeupCriterion


可以指定触发Behavior 类的条件,包括按键、鼠标事件、定时器或是已播放的帧的数目。可以在最初创建或每次处理Behavior 类的消息时指定触发条件。OrbitBehavior 是一个由鼠标事件唤醒的 Behavior 范例。而通过使用 WakeupOnElapsedTime,可以改变 TranformGroup 的 Transform3D 来使得场景图的一部分动起来。


processStimulus()


当唤醒事件发生时,将会调用Behavior 类的 processStimulus()。程序员可以在 processStimulus()中添加或删除对象,更改变换,更改对象的外观,检测两个对象何时相撞等。记住无论在场景图中做任何更改,都需要设置相关的能力位。例如,要更改 processStimulus()中的 TransformGroup 节点,则需要设置 TransformGroup.ALLOW_TRANSFORM_WRITE 位。


插入器是内置的,它可以帮助您将简单动画添加到场景图中。它们在您所定义的值的范围内平滑地移动或插入。随Java 3D SDK 提供的 GearBox 示例中使用旋转插入器RotationInterpolator来使齿轮动起来。


Alpha 对象会生成一个 0.0 与 1.0 之间的值作为计时之用(请注意Alpha 对象同顶点的 alpha 值无关,后者指定透明度)。


插入器使用 Alpha 对象来实施它们对场景图的更改,Alpha 对象的值可以随时间而改变。每当 Alpha 对象触发 RotationInterpolator 时,RotationInterpolator 使用生成的 alpha 值来计算新的旋转。下面的代码创建了一个以匀速无限循环的 Alpha:


Alpha(int loopCount, long speed)
Java, 3D
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

130

主题

1

听众

6206

积分

高级设计师

Rank: 6Rank: 6

纳金币
6206
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-2-13 10:44:13 |只看该作者
回复

使用道具 举报

22

主题

1

听众

1465

积分

助理设计师

Rank: 4

纳金币
1465
精华
0
板凳
发表于 2012-2-13 13:14:24 |只看该作者
有意思
回复

使用道具 举报

73

主题

1

听众

4778

积分

中级设计师

Rank: 5Rank: 5

纳金币
4778
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2012-2-13 14:18:29 |只看该作者
学飞了
回复

使用道具 举报

22

主题

1

听众

1465

积分

助理设计师

Rank: 4

纳金币
1465
精华
0
5#
发表于 2012-2-13 14:50:25 |只看该作者
okok
回复

使用道具 举报

73

主题

1

听众

4778

积分

中级设计师

Rank: 5Rank: 5

纳金币
4778
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2012-2-14 07:35:07 |只看该作者
顶顶
回复

使用道具 举报

73

主题

1

听众

4778

积分

中级设计师

Rank: 5Rank: 5

纳金币
4778
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

7#
发表于 2012-2-14 13:02:51 |只看该作者
不错的
回复

使用道具 举报

1446

主题

3

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
30927
精华
3

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

8#
发表于 2012-2-14 16:22:45 |只看该作者
回复

使用道具 举报

130

主题

1

听众

6206

积分

高级设计师

Rank: 6Rank: 6

纳金币
6206
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

9#
发表于 2012-2-15 09:20:17 |只看该作者
jsjs
回复

使用道具 举报

130

主题

1

听众

6206

积分

高级设计师

Rank: 6Rank: 6

纳金币
6206
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

10#
发表于 2012-4-4 13:12:31 |只看该作者
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-23 10:06 , Processed in 0.129919 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部