本例子主要模拟一个物体在传送带上,每隔1秒复制一个并放入队列中,同时整个队列向前移动,直到碰到传感器。
1、建立一个要移动的物体
2、添加smart组件,包括
LinearMover:线性运动
PlaneSensor:平面检测传感器
Queue:队列
Source:复制
Timer:定时器
同时将物体(部件1)添加到组件中。
3、设计Smart组件
通过timer定时,1s到output为1,当它为1,即复制(Source)的Execute为1,此时就进行复制一个部件,复制完成后Executed为1,此时Queue的EnQueue为1,将复制的
部件放入队列。当部件没有碰到传感器时,PlaneSensor的SensorOut为0,通过取反后使LinearMover的Execute为1,此时队列中的部件就向前移动。
(1)、Timer:从计时0开始,每个一秒Active为1.
(2)、Source:复制,复制的对象为部件_1
(3)、队列,由于外部通过属性连线连接了入队列的对象,所以此处不用写。
(4)、设置PlaneSensor,Axis1和Axis2用于设置传感器的平面,此处设置为直立。
(5)、线性移动,设置移动的速度为200,注意,此处移动的对象是队列,不是单独部件!!!
4、最后效果:
开始时:
没碰到传感器时,不断复制并向前移动。
碰到传感器时,停止。
如果将碰到传感器的部件移除,后面的会继续向前移动。