猫史档案馆


【编程小技巧】角色碰到边缘不反弹?用这个积木就可以解决啦!

用户:技术喵技术喵查看:5 回复:8 评论:5 创建时间:2018-09-30T18:48:00


center_image

有很多训练师反馈:

“面向左边的角色碰到边缘怎么不会反弹呢?”

“这是不是BUG啊?”

(巴格:无辜躺喵,我冤枉啊T^T)

这次还真不是BUG的锅

center_image

center_image

1、角色造型方向与角色方向的区别

center_image

 

我们以“森林鹿王”角色为例

(注意:森林鹿王的角色造型是脸朝左边的)

按照常规做法,我们设置

当开始被点击——重复执行【移动10步、碰到边缘就反弹】

会发现角色能够碰到边缘反弹,

但是角色造型朝向与移动方向相反

看起来就像倒着走

center_image

 

这是因为虽然在我们眼里森林鹿王是面向左边的

但是它实际默认的角色方向是0度,

也就是面向右边

而移动10步,是朝角色方向移动

所以一开始先朝右边移动

使得森林鹿王进行了“反方向移动”

center_image

 

center_image

 

2、边缘的反弹方向

 

舞台上有四条边缘,每条边对应一个反弹方向

当角色本身的方向与碰到的边缘方向一致 则不会改变角色方向

center_image

 

还是以森林鹿王角色为例

我们设置

当开始被点击——重复执行【移动-10步、碰到边缘就反弹】

那么森林鹿王会向哪边走呢?

左边?还是右边?

答案是左边

森林鹿王默认面向0度,也就是角色方向是向右的

(如图:粉色箭头标识的就是角色方向)

那么移动-10步,就是朝相反方向:左边移动

center_image

咦!

森林鹿王碰到边缘不反弹???
center_image

(敲小黑板啦!)

这是因为森林鹿王的角色方向是向右

而左边缘的反弹方向也是向右

center_image

二者方向一致 所以不会改变角色方向

森林鹿王实际还在重复向左移动

center_image

现在,你们知道为什么角色碰到边缘不会反弹了吧?

 

 

center_image

3、面向左边的角色,如何碰到边缘反弹?

 

那么针对面向左边的角色

我们可以借助这个积木

center_image

接着以森林鹿王为例

默认角色方向为0°,向右

我们设置森林鹿王重复移动-10步

重复检测:

如果森林鹿王碰到左边缘,则面向180度

也就是角色碰到左边时,角色方向变向左边

如果森林鹿王碰到右边缘,则面向0度

也就是角色碰到右边时,角色方向变向右边

center_image

如此一来,

森林鹿王每次都会朝着角色面向的反方向移动

但是角色造型就是按正方向移动哦~

center_image

 

center_image

附角色造型向左&角色造型向右的旋转角度示意图

center_image

center_image

 

 

 

———————————————————向左向右分割线———————————————————

 

所以

角色造型向左的角色,如何碰到边缘就反弹

你学会了吗?

 

国庆快乐

遇到BUG给技术喵留言哦~center_image


回复

上一页1 页 / 共 1下一页
QwQ奶茶QwQ奶茶

sofa

点赞0


评论


积木研究所&代码研究所 所长积木研究所&代码研究所 所长

emotion_编程猫_伤心

点赞0


评论


XCookieXCookie

当开始被点击

重复执行

    结果 自己 碰到 边缘

        旋转 自己 的 角度 + 自己 的 角度 × 2

点赞0


评论


想飞翔の鱼想飞翔の鱼

center_image

点赞1


评论


机器人包老师机器人包老师

emotion_编程猫_点赞emotion_编程猫_点赞

点赞0


评论


想飞翔の鱼想飞翔の鱼

center_image

点赞3


评论


开舒克的飞稽开舒克的飞稽

原来活动喵的盒子里面装的是 B U G !emotion_编程猫_紧张

点赞0


评论


定位失败定位失败

bug:不是我的锅TAT

技术喵:好吧不是……不过你还是要接受正义的宣判!你为什么让我996!

点赞0


评论