Day20 ( 中级 ) 拉不走的弹力球

拉不走的弹力球

教学原文参考:拉不走的弹力球

这篇文章会介绍,如何在 Scratch 3 里使用扩充功能的画笔、角色移动、重复无限次、侦测滑鼠按下、侦测碰到滑鼠...等积木,实作一个不管怎麽拉都拉不走,最後都会回到中心的弹力球。

相关文章参考:扩充功能的画笔重复移动侦测滑鼠按下

角色设定

在角色编辑区,删除猫咪角色,加入「足球」的角色 ( 参考:Scratch 角色设定 )。

Scratch 3 教学 - 拉不走的弹力球

积木程序原理

首先使用定位积木,将足球定位到舞台中心,接着透过「重复无限次」和「如果...那麽...否则」积木,判断滑鼠正在拖拉足球 ( 滑鼠按下 + 滑鼠碰到足球 ),就让足球移动到滑鼠的座标,反之如果放开滑鼠 ( 滑鼠按下不成立 ),就让足球在 0.2 秒内移动回舞台中心。

Scratch 3 教学 - 拉不走的弹力球

完成後,切换到「专案页面」,就能够用滑鼠拖拉足球,放开滑鼠时,足球就会弹回中心点。

「程序页面」本身可以拖拉角色,所以建议切换到「专案页面」观看效果。

Scratch 3 教学 - 拉不走的弹力球

接下加入扩充功能的「画笔」,希望能做出让拖拉足球时,出现一条将足球拉回中心点的线段,首先修改原本的程序,新增一个名称为「滑鼠按下」的变数,将如果「碰到鼠标且滑鼠按下」的内容,修改为设定「滑鼠按下变数」为 1,如果「滑鼠按下不成立」,设定「滑鼠按下变数」为 0

因为到时候使用画笔画线,需要让角色座标返回舞台中心,所以会造成原本的程序出现问题,所以要做一些修改。

Scratch 3 教学 - 拉不走的弹力球

放入第二组点击绿旗的程序,使用重复无限次积木,每次重复时先「清除全部笔迹」和「停笔」,避免画面上出现预期外的线条,接着判断「滑鼠按下」变数如果等於 1,表示正在拖拉足球,就从舞台中心点画线至滑鼠的座标,如果「滑鼠按下」变数等於 0,表示滑鼠放开,就让让足球移动回中心点 ( 此时会执行「清除全部笔迹」和「停笔」,所以线条就会消失 )

Scratch 3 教学 - 拉不走的弹力球

完成效果

完成後,切换到「专案页面」,就能够用滑鼠拖拉足球,并出现一条线连着足球,放开滑鼠时,足球就会弹回中心点。

Scratch 3 教学 - 拉不走的弹力球

范例解答

范例解答:拉不走的弹力球

关於我

大家好,我是 OXXO,是个即将迈入中年的斜杠青年,如果对我有点兴趣(笑,可以与我联系,一起来做点有玩又有创意的东西吧!


<<:  Day07:始祖巨人

>>:  Day.11 「利用渐变效果,让网页不再死板!」 —— CSS Transform & CSS Transition

[Day 27] 使用GCP部署机器学习API

使用GCP部署机器学习API 此范例使用鸢尾花朵资料集进行 XGBoost 分类器模型训练。将模型储...

URLSession 介绍 Day 15

今天来介绍使用API会用到NSURLSession 其实NSURLSession 与 URLSess...

[Day09] JavaScript - 流程判断

if...else 当条件成立的时候执行 if 内的陈述式,不成立时则执行else的陈述式。 语法 ...

Day16 Android - 不同fragment切换(ButtomNavigationView)

今天主要要设计ButtomNavigationView(底部的按钮)来切换不同的fragment,而...

烟囱式架构 (Information Silo Architecture)

烟囱式架构 相对於中台架构,烟囱式架构就像多个互相独立的应用系统,代表着业务流程的区隔 ─ 重复的功...