采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
if (bird.top > pencil.bottom || bird.bottom < pencil.top || bird.right < pencil.left || bird.left > pencil.right)
这段代码看晕了,完全不知道是怎么比较出来的
其实吧,bird.left > pencil.right是可以简化掉的,只不过我写全了。给你拆开分析吧。bird.top > pencil.bottom意思是上方铅笔的底部不能超过小鸟的顶部,不然小鸟就“戳”上去了,对吧。bird.bottom < pencil.top 这个指的是小鸟和下方铅笔,不能“戳”下去。 bird.right < pencil.left 是小鸟的右侧不能碰到上下两种铅笔的左侧,最后一个条件因为小鸟是向右运动的,所以可以省略
上方铅笔的底部的y坐标不能超过小鸟的顶部的y坐标,即铅笔底部y坐标大于小鸟底部y坐标,这个逻辑是什么时候判断的?
bird.left > pencil.right 这个条件不能省略,当飞过第一根铅笔,且铅笔还未被销毁,铅笔在小鸟后方,还是需要bird.left > pencil.right这个判断的。
登录后可查看更多问答,登录/注册
官方同步,第一时间掌握整套微信小游戏开发核心技术
923 13
1.1k 12
2.6k 11
1.3k 8
1.1k 8