Arcade编程
最后更新于2024-3-29
更新摘要
快速开始
硬件准备
使用USB线连接电脑。如果你的喵比特在Arcade模式固件,通过按一下右侧的Reset按键(如下图),电脑能出现新的盘符名为ARCADE-F4
,如果在电脑没有出现盘符 ARCADE-F4 需要检查主板是否是异常
Demo案例
1.进入Arcade游戏编程平台地址:https://arcade.makecode.com/
新建项目
编写程序
选择需要的程序
完成一个简单的控制角色移动的程序
选择精灵
选择精灵的图案
可以自行选择是否手动绘制,还是使用现成图库的游戏精灵
这里使用一个现成的精灵
点击完成
程序就编写好了
下载程序至硬件
- 点击左下角的下载
- 硬件选择Meowbit
- 会得到一个.uf2格式的文件,将他拖入到ARCADE-F4盘符下即可
这个盘符不是真实的存储空间,而只是模拟出来方便程序下载,所以文件无法从内部取出
将从浏览器下载的uf2文件复制或移动至这个盘符中
效果如下
编程平台详细介绍
Arcade游戏编程平台地址:https://arcade.makecode.com/
界面介绍
编号1:点击编号1的部分输入项目名称建立一个项目开始编程
编号2:以下的部分是一些平台提供的简单教程和社区分享的游戏作品,新手可以稍作学习
对于基础入门而言,大致先分为3部份了解
- 在线模拟器:按照代码的逻辑实时模拟运行效果
- 编程积木栏:我们从这里拖入编程代码进行编程
- 代码编辑区:我们将代码从积木栏拖出后在这里拼接,完成游戏的形象、界面和逻辑构建
游戏原型设计
- 选择或设计一个角色形象。使用这个积木块创建一个角色,并放入到
**当开机时**
执行积木块下,我们在图库中选择一个内置的角色即可
- 让角色和键盘(同样也是喵比特的按键)关联起来,此时你已经可以尝试用键盘在模拟器控制小精灵移动了
- 给游戏添加一个背景,暂时只改变一个颜色,让场景明亮起来
- 给游戏添加地图,有了地图的限制才真正有一些游戏场景的样子,点进地图设置界面,先改一下参数,将原本的16:16改成10:8。
- 选择一个你喜欢的砖块在右侧的区域用鼠标绘制
- 搭建如下程序后,左侧的模拟器效果如图所示
游戏交互
上述步骤已经完成了一个最简单的游戏原型设计,包含角色
、场景
、背景色
,接下来我们继续赋予它生命。所谓游戏的生命就是能够在游戏中体验交互的感觉,就拿 小鸟碰到树 '叫'一声来做一个简单交互吧
- 交互是无时无刻进行的,无论是在游戏还是生活中。所以此处使用
当游戏更新时
积木块表示在整个游戏运行的过程中,这个积木块里的内容都会以微妙级的速度刷新执行
- 交互的基础便是判断和执行,以小鸟碰到树会叫这个逻辑而言,
是否碰到树
就是一个判断,那么碰到树之后的叫
则是执行。
- 在已有程序的基础上,增加如下积木程序,在模拟器中运行后可以看到当小鸟的碰到树会显示
- 增加现实意义,基础物理规律是必要的。为了使物体与物体之间无法穿越,给地图场景添加
墙壁
的属。
- 回到图块地图的编辑界面中,选择墙壁属性
- 在需要变成墙壁的图块上涂抹,变为红色的图块则升级为角色无法穿越
物理属性
愈真实的,往往能给人以愈强烈的同感。重力存在与我们生存的环境是再真实不过了,我们先不论复杂的知识点,只专注于实现它看看吧
- 模拟场景为天空,小鸟在垂直向下的重力加速度条件下,自由落体的正常加速度大概为1个g(约9.8m/s²),但由于在屏幕中以像素为单位(1像素映射1米),实在是看起来太慢了,所以试着扩大约30倍
可以看到小鸟从开始就在下坠,这已经有了重力自由落体的感觉了
- 小鸟避免撞树要扑动翅膀飞起来危险
毕竟我们也没测试过鸟扑翅的瞬间垂直速度,所以就用人类起跳的垂直速度进行模拟。
- 根据 机械能守恒定律:1/2m(重量)v²(起跳速度的平方)=m(质量)g(重力加速度=9.8)h(高度)
- 人在正常条件下垂直起跳大约能离地0.5m
因此可以得到瞬间的速度v≈3m/s 左右
:::
根据扩大30倍的条件而言,这个v也扩大30倍为90,按下按键A让小鸟扑翅飞一次
- 由于小鸟已经受到垂直方向的重力影响,我们此时就不应该用按键干涉小鸟的垂直坐标了,所以现在将之前的按键关联中的y轴速度改为0
完成程序
🏳🌈 前往项目: https://makecode.com/_LdFRbMU08Jgt
更多教学
视频
- 小喵为大家精心录制了17节微课,可帮助大家快速上手
配套书籍(需要自行额外购买)
如果以上为了都满足不了你或者你更喜欢纸质书,可以在当当网进行购买配套书籍
http://product.dangdang.com/29240752.html
板载传感器使用
点击扩展,选择controler选项
加载成功后,控制器的栏目会增加多个积木块,用于板载的一些传感器的使用
2颗LED、光敏传感器、温度传感器、陀螺仪
序号 | 积木 | 描述 |
---|---|---|
1 | ![]() | 板载温度测量 |
2 | ![]() | 板载陀螺仪三轴方向的加速度 |
3 | ![]() | 陀螺仪的事件触发 |
4 | ![]() | 亮度变化事件 |
5 | ![]() | 板载亮度传感器测量值 |
因为控制器是一个通用的插件,因此其他的传感器(如下图所示)在喵比特上没有,因此暂时可以不管
光敏示例
简介:创建一个精灵,并且让精灵循环说出现有光敏亮度
程序:
可以直接打开成程序:
https://makecode.com/_EkYhVPMAWT6A
现象:
可以看到手遮挡光敏传感器,数值有明显的变化
温度示例
简介:创建一个精灵,并且让精灵循环说出现有温度
程序:
可以直接打开程序:
https://makecode.com/_iLmVTKa89WrJ
现象:
可以看到手摸着热敏传感器位置,数值缓慢上升(测出的温度比室内温度稍高,因为PCB电路板上有热量)
陀螺仪示例
简介:创建一个精灵,让陀螺仪左倾右倾,上倾下倾控制角色移动(微软平台暂时有bug,此示例现象得不到正确结果)
程序:
可以直接打开成程序:
https://makecode.com/_6e0AYcLCcexs
现象:
可以晃动喵比特,可以看到角色随着喵比的倾斜方向进行移动
Robotbit使用
插件加载
在扩展输入栏,输入以下网址,点击搜索
github:kittenbot/meow-robotbit
加载插件后会出现以下积木扩展
📋:驱动电机
序号 | 积木 | 描述 |
---|---|---|
01 | ![]() | 以一定速度开启电机 |
02 | ![]() | 控制电机指定时间转动 |
03 | ![]() | 同时控制两个电机转动 |
04 | ![]() | 单个电机的停止控制 |
05 | ![]() | 控制所有电机的停止命令 |
📋:驱动步进电机
序号 | 积木 | 描述 |
---|---|---|
01 | ![]() | 控制两个步进电机同时转动角度 |
02 | ![]() | 控制单个步进电机转动角度 |
03 | ![]() | 控制单个步进电机转动圈数 |
04 | ![]() | 安装了两个步进电机的小车,填写轮子的直径后,控制它前进指定距离 |
05 | ![]() | 安装了两个步进电机的小车,填写轮子的直径后,轮子间的距离,控制它转动指定角度 |
📋:驱动geekservo 9g舵机


控制舵机转动指定的角度,角度范围为-45至225度

📋:驱动geekservo 2kg舵机

控制2kg舵机转动到指定角度,角度范围为0至360度

📋:驱动普通蓝色9g舵机

控制蓝色9g舵机转到指定角度,范围为0至180度

📋:连接猫头超声波



📋:RGB灯控制
无线SD模块使用
购买连接:
https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-21482550023.12.1a635d5fCeInSr&id=605430480347
简介:只推荐进阶用户使用!主要用来与Microbit进行2.4G无线通讯,蓝牙一般用不上,除非有特殊需求
更多详情教程请看 无线SD模块教程详情页
更新摘要
2024-3-29
- 修改快速开始
2024-3-20
- 根据最新情况更新文档内容
2021-7-11
- 增加板载传感器示例
- 增加微课链接教程
2020-9-22
- 增加快速开始教程