周末没事可干,在家玩力控,哈哈。 一、整体的画面是下面这样的,对像有 1、送料的小球;2、传料机构;3、机械手;4、加工机台。 小球负责运送已加工或待加工的料;传料机构把未加工的料传给机械手,或把加工好的传回给小球;机械手把料与加工机台互动;加工机台加工料; 二、建立变量: 如下图列表 三、建立动画 送料机构: 机械手: 加工机台: 下拉清单: 三、程序编写: 条件触发: 主程序: 具体是下面这样的: //*************************************************************************************************************** if (a3.pv==1&&a1.pv<>a2.pv) then #主画面.Rect100.FColor=1417; SWITCH (a1.pv) CASE 0:x.pv=0, y.pv=y.pv+a4.pv CASE 1:x.pv=x.pv+a4.pv; y.pv=350; case 2:x.pv=662, y.pv=y.pv-a4.pv; case 3:x.pv=x.pv-a4.pv, y.pv=0; DEFAULT: MsgBox("1#小车地标读取错误!") ENDSWITCH endif if (b3.pv==1&&b1.pv<>b2.pv) then #主画面.Rect101.FColor=1417; SWITCH (b1.pv) CASE 0:x1.pv=0, y1.pv=y1.pv+b4.pv CASE 1:x1.pv=x1.pv+b4.pv; y1.pv=350; case 2:x1.pv=662, y1.pv=y1.pv-b4.pv; case 3:x1.pv=x1.pv-a4.pv, y1.pv=0; DEFAULT: MsgBox("2#小车地标读取错误!") ENDSWITCH endif if a1.pv==a2.pv then a3.pv.01=0; endif if b1.pv==b2.pv then b3.pv.01=0; endif IF x.pv==0 && y.pv>=296 && y.pv<=300 && a3.pv.03==0 then a3.pv.02=1; IF u1.pv<100 then u1.pv=u1.pv+1; endif if u1.pv==100 && v1.pv<100 then v1.pv=v1.pv+1; endif if v1.pv==100 && w1.pv<100 then w1.pv=w1.pv+1; endif if w1.pv==100 then a3.pv.03=1;//步记标致 endif endif if a3.pv.03==1 then #主画面.Rect100.FColor=236; y.pv=300; if v1.pv>0 then v1.pv=v1.pv-1 else a3.pv.03=0;a3.pv.02=0; u1.pv=0;v1.pv=0;w1.pv=0;c.pv=c.pv+1; endif endif IF x1.pv==662 && y1.pv>=96 && y1.pv<=100 && b3.pv.03==0 then b3.pv.02=1; if u2.pv<100 then u2.pv=u2.pv+1; endif if u2.pv==100 && v2.pv<100 then v2.pv=v2.pv+1; endif if v2.pv==100 && w2.pv<100 then w2.pv=w2.pv+1; endif if w2.pv==100 then b3.pv.03=1; endif endif if b3.pv.03==1 then #主画面.Rect101.FColor=236; y1.pv=96; if v2.pv>0 then v2.pv=v2.pv-1 else b3.pv.03=0;b3.pv.02=0; u2.pv=0;v2.pv=0;w2.pv=0;c.pv=c.pv+1; endif endif //****************************************************************************************************