检测按键事件好像非常容易的,因为有一个事件命令就叫当按下…键。

这个命令就可以检测多所有的按键。平常我们就经常用到这个命令,比如用上下左右键来调整角色的方向,用空格键操作一些角色的动作,如发射子弹,跳起来等。

但是我们会碰到另一种按键的情形,就是持续按下,或者说长时间按下空格键,会出现什么情况。我们试一下。


发现没有,在按着空格键不动的时候,小猫走了10步后先停顿了一下,然后才会连续运动。而不是一直连续运动。

这是什么情况呢?CC哥觉得这应该Scratch的设计者在做这个命令的时候,在程序里增加了抗干扰的代码。一般来说,按键操作每个人都不一样,有的人按的很快,有的人对键盘不熟悉,按的很慢,那么程序要判断你是按了几次呢?所以这里面就有一个抗干扰代码,来判断你是只按了一次键,而不是想连着一直按,所以给了个停顿来消除按键中的干扰因素。当然如果你确实一直按着不撒手,那说明你就是要一直按着,也就继续执行了。所以这个事件命令就是针对一次性的按键事件,而不是用来做按着不放的按键事件。

但是如果我们就是希望一直按着键盘,而不是只是想按一下呢?比如我们需要用键盘来控制小猫的行走,你肯定希望当按键按下时,小猫就能连续走,而不是还要停一下。那怎么编写这段代码呢?


我们用一个循环侦测组合,不断的去检测是否空格按键被按下,如果按下了就移动10步。让我们来看看这段代码的执行效果。

看,这走起来是不是行云流水一般。

不过感觉上有点不方便,之前空格键检测就用了一条事件命令,而现在却要写一段代码,如果是一个大型程序,反复要检测空格键怎么办,那不是反复要写一段代码?

不用担心,我们可以用之前学过的一个命令解决这个问题。就是广播和接收。

看,把循环判断中的移动命令换成了广播命令,广播一条空格键被按下的消息,然后用接收命令来接收到消息后执行后面的代码。这样在大型程序里就不需要反复去写一段代码了,只需要用一条接收消息的命令就可以了。是否很像其他编程工具和数学里的函数以及函数调用?原来广播命令还有这种使用方式,是不是很开心。

Scratch教程——按键的技巧相关推荐

  1. 3D MAX界面操作教程及渲染技巧

    3dmax软件是一款电脑设计辅助软件,广泛应用于建筑设计.室内设计.影视动画.广告设计.游戏设计等等,是三维设计师们不可或缺的一款软件. 这里小编为大家介绍该软件的工作界面,让广大初学者和爱好者有更加 ...

  2. Scratch教程:暗道效果

    Scratch里面的指令能够大程度实现各种各样的功能目标,除非是它的性能极限,否则code主们还是可以很放心很大胆地去创作的,就光光在"外观指令"上面,就能够通过很简单的灵活运用, ...

  3. Kali Linux 安装教程和使用技巧

    Kali Linux 安装教程和使用技巧 一.创建root账户密码 (一)创建root账户密码 (二)删除普通账户 (三)修改系统和硬件时间 二.更新源 三.kali 安装googlepinyin输入 ...

  4. scratch做出按键控制屏幕滚动效果

    写在前面,咱们来看看效果吧~ 之前我写过的scratch实现LED,跑马灯变化背景如下.大家可以看看之前这个效果. scratch实现LED跑马灯效果 程序分析: 效果由按下左键,右键移动屏幕,就像P ...

  5. scratch教程----2.绘制抛物线

    Hi!大家好,这里是Rocky丶的scratch教程--第二期, 这起我们来讲讲如何运用scratch绘制抛物线: 我们今天来讲两种"方法"绘制抛物线(两种精确度) 目录 开始讲解 ...

  6. scratch教程----1.克隆体的使用

    大家好,这里是Rocky丶的编程教学 这是我们scratch教程的第一期,希望能有多一点的朋友来看我的教程: 尽管我粉丝再少,我也会坚持做下去的: 教程开始: 前附:在线网站 1.运用克隆体的基本积木 ...

  7. scratch教程----4.科赫雪花新积木的运用

    Hi!又是一期scratch教程出炉啦! 这期我们来讲scratch中的递归(以下给出目录,老手可以跳过) 目录 1.初学: 2.进阶: 学过别的编程语言中的递归的小伙伴可以在目录跳过咯: 1.初学: ...

  8. fifa18怎么改服务器位置,FIFA18键位怎么操作 FIFA18按键设置技巧

    FIFA18是一款最新上市的足球题材体育竞技类游戏,那么今天在这篇文章中,小编重点给大家讲讲在游戏中,键位操作的一些方法,先我们一起来了解一下吧! FIFA18按键设置技巧,内容如下: PC版经典键位 ...

  9. scratch教程----3.角色的移动优化

    Hello,又和大家见面啦,我是Rocky丶 这期我们来讲讲scratch角色在2D平面上的简单移动&简单惯性优化 话不多说,开讲: 准备: 在线编辑网站链接 有的小伙伴可能会说,这不简单吗? ...

最新文章

  1. 替换openjdk的版本时遇到报错Transaction check error
  2. Linux查看系统信息的一些命令及查看已安装软件包的命令(转)
  3. vue 怎么在字符串中指定位置插入字符_vue 我想在一个字符串中间加入一个/br 该怎么写?...
  4. Android SQLite Database的使用模板
  5. mxnet基础到提高(43)-编译安装
  6. 搜狗拼音输入法大头贴新增几个新的模板,欢迎使用.
  7. Java面向对象(3) —— 抽象类、接口、内部类、匿名内部类
  8. Mac修改pip为国内源
  9. Just For Fun-用java编个线性回归(一次函数拟合)的图形界面
  10. SQL中WHERE子句介绍
  11. sfr测试图像清晰度 C 语言,SFR分辨率测试卡的不足和改进
  12. 2022年华为杯中国研究生数学建模竞赛A题思路
  13. 加工中心计算机编程自学,自学加工中心编程(简单易学)图文讲解
  14. Labview产生TTL信号
  15. 简单的省市区级联SQL脚本
  16. go mod vendor 如何使用
  17. 大学计算机基础四大专业课,《大学计算机基础》课程教学大纲.doc
  18. arctanx麦克劳林公式推导过程_半桥 LLC 基波分析和参数计算过程推导
  19. JS 实战: Drag 点击拖曳效果
  20. Python 遍历文件夹下所有文件 合并txt内容

热门文章

  1. 后台java 实现验证码生成
  2. 密室价目菜单设计 密室逃脱
  3. Canvas绘制鱼儿游水动画
  4. ClickHouse MySQL引擎
  5. AutoCAD 2013【32位/64位】官方简体中文版
  6. Linux服务器查询SQL并导出EXCEL到服务器
  7. 科学与宗教的和解:宇宙宗教情感是科学研究背后的动力
  8. AMD二代推土机调整 砍掉PCI-E 3.0
  9. shopee和lazada站点全解析-马六甲erp
  10. MVP+Retrofit+Rxjava网络请求购物车