Discuss Scratch

  • Discussion Forums
  • » 中文
  • » 想两个运动的物体碰到后,脚本就结束。但是二者会擦肩而过,这是什么原因? [RSS Feed]
wood75
New to Scratch
2 posts

想两个运动的物体碰到后,脚本就结束。但是二者会擦肩而过,这是什么原因?


想设计一个,马在动,小球也在动,然后球碰到马,脚本就结束。但是二者会擦肩而过,不知道哪里写的不对,请指教。


https://scratch.mit.edu/projects/178986938/
ioerr
New to Scratch
18 posts

想两个运动的物体碰到后,脚本就结束。但是二者会擦肩而过,这是什么原因?

我是这样编的。

猫:
点击绿旗时
重复执行
移动 (10) 步
如果 <碰到 [ ball] ?> 那么
停止 [全部]
end
end


ball:
点击绿旗时
在 (10) 秒内滑行到 x: (-180) y: (0)

分析:你的程序判断的时间点是移动结束后是否还有相遇。指令是一条条执行的,得清楚执行顺序
ckluo
Scratcher
100+ posts

想两个运动的物体碰到后,脚本就结束。但是二者会擦肩而过,这是什么原因?

wood75 wrote:

想设计一个,马在动,小球也在动,然后球碰到马,脚本就结束。但是二者会擦肩而过,不知道哪里写的不对,请指教。


https://scratch.mit.edu/projects/178986938/
要把ball的移动指令和触发指令分开
不然直到移动完才会检测

say [这是我的介绍]
大家好!我就是那个经常在讨论区飞来飞去异常活跃的ckluo!我今年九岁,在龙岗区信义小学上四年级2班哦!
wood75
New to Scratch
2 posts

想两个运动的物体碰到后,脚本就结束。但是二者会擦肩而过,这是什么原因?

感谢楼上二位和帮我修改测试程序的另一位朋友,我的错误原因就是没有搞明白,重复移动几步和在几秒内移动到某一个坐标间的区别。

如果是移动几步然后马上去判断是否会发生碰撞就可以。

如果用我原来的先移动到某一点再判断的话,那物体在行进过程中是不会触发碰撞指令的。

谢谢大家。
ioerr
New to Scratch
18 posts

想两个运动的物体碰到后,脚本就结束。但是二者会擦肩而过,这是什么原因?

我的总结是:


1.步子要小点,最好大于对碰目标的最小直径;

2.我用小黄球,碰小猫,只要碰到任何部位边缘就可以触发碰撞;

3.要注意指令执行顺序。
4.3楼说的对,要么就放两个小绿旗,让“移动”和“碰撞”并行执行。

Last edited by ioerr (Oct. 17, 2017 08:35:01)

TwilightSparkleLover
Scratcher
76 posts

想两个运动的物体碰到后,脚本就结束。但是二者会擦肩而过,这是什么原因?

当[鳄鱼君想赛跑]
重复执行
移动 (你喜欢) 步
如果 <碰到 [对手 v] ?> 那么
停止 [全部 v]
end
end

当你想玩鳄鱼君大战贴吧Madam时 ::hat events
打开[电脑 ∨] ::motion
打开[Google Chrome ∨] ::motion
复制[https://scratch.mit.edu/projects/195683657/] ::motion
粘贴至[地址栏 ∨] ::motion
按下[Enter ∨] ::motion
在 <作品加载成功 ::boolean sensing>前一直等待 ::control
JackCommandBlock
New to Scratch
2 posts

想两个运动的物体碰到后,脚本就结束。但是二者会擦肩而过,这是什么原因?

你的球的脚本是这样的:
点击绿旗时
移到 x: (-173) y: (-134)
重复执行
在 (5) 秒内滑行到 x: (173) y: (-134)
如果 <碰到 [Horse1] ?> 那么
停止 [全部]
end
end
这会导致在移动过程中不进行是否碰到的判定(因为它是要执行完才会去判定的)
建议修改:
点击绿旗时
移到 x: (-173) y: (-134)
在 (5) 秒内滑行到 x: (173) y: (-134)
点击绿旗时
重复执行
如果 <碰到 [Horse1] ?> 那么
停止 [全部]
end
end
就是把它拆成两块,让它们可以同时运行
  • Discussion Forums
  • » 中文
  • » 想两个运动的物体碰到后,脚本就结束。但是二者会擦肩而过,这是什么原因? [RSS Feed]

Powered by DjangoBB

Standard | Mobile