选取事件
-
预备知识
介绍
要允许用户跟场景里的物体互动,我们可以允许“选取”事件。它跟二维程序里的“点击”事件非常相似。当你在场景中点击一个三维物体时,选取事件将会被触发。
需要注意的是,事件会在你释放鼠标时被触发,而不是当你按下鼠标是触发。
“开启选取”编程积木
默认情况下,选取事件时不被开启的因为他需要一些额外的运算,要开启它,你可以使用“开启选取”编程积木:
参数
鼠标按键
你可以选择让用户使用鼠标左键或鼠标右键来选取。当你正同时使用追踪摄像头时,这个选择不应该跟摄像头的导航按钮一样,以免起冲突。举个例子,如果用户使鼠标右键来控制追踪摄像头,那他应该使用鼠标左键来选取物体。
角色列表
要指定场景中哪些角色可以被用户选取,你可以指定一个角色列表名称并用逗号来分隔它们,比如角色1,角色2。通过这样的方式,任何一个被添加在两个中任一角色的物体都可以被选取。
“关闭选取”编程积木
有时候你需要在开启选取时间之后将它关闭。你可以使用“关闭选取”编程积木:
这个编程积木只需要一个输入,也就是角色名称列表。角色的名字应该要被逗号分隔开来,比如角色1,角色2。
“当被选取”编程积木
每当用户选取一个物体时,如果这个事件编程积木被使用在拥有被选取物体的角色时,它将会被触发。
诠释选取事件的编程积木
当我们选取一个物体时,我们正在把一束光线从摄像头投射到鼠标,然后再把这束光线一直延伸,直到光纤击中场景中的任一物体。这束光线和目标物体的交叉点叫做"被选取点",而目标物体被称为”被选取物体“。
以下四个编程积木可以让你得到更多关于选取事件的信息。
演示
在这个演示程序里有两个角色。
在”角色1“里,我们添加了一个黄色的盒子,把它用作平地,然后我们允许用户选取任何在”盒子“角色里创建的物体。接着,我们广播一个信息来添加盒子。
在“盒子”角色中,当我们收到消息时,我们在10个随机位置添加盒子。接着,当任何一个盒子被点击时,我们首先用”被选取物体“编程积木来选择那个盒子,然乎我们设置它的上升速度,让他飞起来。
动手时刻:
https://play.creaticode.com/projects/e09563dbcf2abc29327819bd
-