物理跳跃、掉落 - 图1

序言

coco没有像kitten那样有物理引擎,但在某些场景下,我们需要物理的掉落、弹跳功能。我们可以自己实现。

添加控件

画布和角色是必要控件,接下来根据自己需要添加控件。

物理跳跃、掉落 - 图2

编写积木

下落

创建一个“增量”变量,来确定下落速度(越来越快)。

物理跳跃、掉落 - 图3

不方便添加gif图,请自行查看运行效果。

反弹

我们会发现,现在角色只会一直下落,掉出了画布。来给它加一个反弹效果吧!

创建变量“惯性”初始值为15(这个数字代表反弹高度,数字越高,弹得越高)。

碰到边缘时,让角色停止下落(增量为0),增量增加“惯性”的值。

惯性是弹着弹着就消失了(停止反弹),所以让每次落地反弹是,惯性减少3。

物理跳跃、掉落 - 图4

运行效果不方便展示,请拼接代码自行查看。

跳跃

有了下落效果,应该有跳跃效果了。

创建按钮,命名为“跳”。

在按钮点击时,将增量增加。

下落过程中是不能跳跃的。所以要在角色没有落地时禁用按钮。

物理跳跃、掉落 - 图5