跳到主要内容

Arcade编程

最后更新于2024-3-29
更新摘要

快速开始


硬件准备

使用USB线连接电脑。如果你的喵比特在Arcade模式固件,通过按一下右侧的Reset按键(如下图),电脑能出现新的盘符名为ARCADE-F4,如果在电脑没有出现盘符 ARCADE-F4 需要检查主板是否是异常

危险

该状态用于Arcade游戏程序烧录

IMB_N8ezc5.gif

IMG_6358.JPG

要注意开关要拨向左边
IMG_6334.JPG

Demo案例

1.进入Arcade游戏编程平台地址:https://arcade.makecode.com/

新建项目

image.png
image.png

编写程序

选择需要的程序
image.png

image.png

完成一个简单的控制角色移动的程序
image.png

选择精灵

选择精灵的图案
image.png
可以自行选择是否手动绘制,还是使用现成图库的游戏精灵
image.png
这里使用一个现成的精灵
image.png
点击完成
image.png

程序就编写好了
image.png

下载程序至硬件

  1. 点击左下角的下载

image.png

  1. 硬件选择Meowbit

image.png

  1. 会得到一个.uf2格式的文件,将他拖入到ARCADE-F4盘符下即可

image.png

危险

这个盘符不是真实的存储空间,而只是模拟出来方便程序下载,所以文件无法从内部取出

将从浏览器下载的uf2文件复制或移动至这个盘符中

image.png

效果如下
recording.gif

编程平台详细介绍


信息

Arcade游戏编程平台地址:https://arcade.makecode.com/

界面介绍

编号1:点击编号1的部分输入项目名称建立一个项目开始编程
编号2:以下的部分是一些平台提供的简单教程和社区分享的游戏作品,新手可以稍作学习
image.png

对于基础入门而言,大致先分为3部份了解

  1. 在线模拟器:按照代码的逻辑实时模拟运行效果
  2. 编程积木栏:我们从这里拖入编程代码进行编程
  3. 代码编辑区:我们将代码从积木栏拖出后在这里拼接,完成游戏的形象、界面和逻辑构建

image.png

游戏原型设计

  1. 选择或设计一个角色形象。使用这个积木块创建一个角色,并放入到 **当开机时** 执行积木块下,我们在图库中选择一个内置的角色即可

image.pngimage.png

  1. 让角色和键盘(同样也是喵比特的按键)关联起来,此时你已经可以尝试用键盘在模拟器控制小精灵移动了

image.pngimage.png

  1. 给游戏添加一个背景,暂时只改变一个颜色,让场景明亮起来

image.pngimage.png

  1. 给游戏添加地图,有了地图的限制才真正有一些游戏场景的样子,点进地图设置界面,先改一下参数,将原本的16:16改成10:8。

image.pngimage.png

  1. 选择一个你喜欢的砖块在右侧的区域用鼠标绘制

image.png

  1. 搭建如下程序后,左侧的模拟器效果如图所示

image.png

游戏交互

上述步骤已经完成了一个最简单的游戏原型设计,包含角色场景背景色,接下来我们继续赋予它生命。所谓游戏的生命就是能够在游戏中体验交互的感觉,就拿 小鸟碰到树 '叫'一声来做一个简单交互吧

  1. 交互是无时无刻进行的,无论是在游戏还是生活中。所以此处使用 当游戏更新时 积木块表示在整个游戏运行的过程中,这个积木块里的内容都会以微妙级的速度刷新执行

image.png

  1. 交互的基础便是判断和执行,以小鸟碰到树会叫这个逻辑而言,是否碰到树 就是一个判断,那么碰到树之后的 则是执行。

image.png

  1. 在已有程序的基础上,增加如下积木程序,在模拟器中运行后可以看到当小鸟的碰到树会显示 :)

image.png

  1. 增加现实意义,基础物理规律是必要的。为了使物体与物体之间无法穿越,给地图场景添加墙壁的属。
  • 回到图块地图的编辑界面中,选择墙壁属性

 image.png  image.png

  • 在需要变成墙壁的图块上涂抹,变为红色的图块则升级为角色无法穿越

        image.png

物理属性

愈真实的,往往能给人以愈强烈的同感。重力存在与我们生存的环境是再真实不过了,我们先不论复杂的知识点,只专注于实现它看看吧

  1. 模拟场景为天空,小鸟在垂直向下的重力加速度条件下,自由落体的正常加速度大概为1个g(约9.8m/s²),但由于在屏幕中以像素为单位(1像素映射1米),实在是看起来太慢了,所以试着扩大约30倍

image.png

信息

可以看到小鸟从开始就在下坠,这已经有了重力自由落体的感觉了

  1. 小鸟避免撞树要扑动翅膀飞起来
    危险

    毕竟我们也没测试过鸟扑翅的瞬间垂直速度,所以就用人类起跳的垂直速度进行模拟。

  • 根据 机械能守恒定律:1/2m(重量)v²(起跳速度的平方)=m(质量)g(重力加速度=9.8)h(高度)
  • 人在正常条件下垂直起跳大约能离地0.5m

因此可以得到瞬间的速度v≈3m/s 左右 ::: 根据扩大30倍的条件而言,这个v也扩大30倍为90,按下按键A让小鸟扑翅飞一次
image.png

  1. 由于小鸟已经受到垂直方向的重力影响,我们此时就不应该用按键干涉小鸟的垂直坐标了,所以现在将之前的按键关联中的y轴速度改为0

image.png

完成程序

🏳‍🌈 前往项目: https://makecode.com/_LdFRbMU08Jgt

更多教学

视频

配套书籍(需要自行额外购买)

如果以上为了都满足不了你或者你更喜欢纸质书,可以在当当网进行购买配套书籍
http://product.dangdang.com/29240752.html

板载传感器使用


点击扩展,选择controler选项
2021-06-06_11-35-53.jpg
2021-06-06_11-36-43.jpg

加载成功后,控制器的栏目会增加多个积木块,用于板载的一些传感器的使用
2021-06-06_11-37-30.jpg

2颗LED、光敏传感器、温度传感器、陀螺仪

序号积木描述
1arcade-屏幕截图 (4).png板载温度测量
2arcade-屏幕截图 (1).png板载陀螺仪三轴方向的加速度
3arcade-屏幕截图 (2).png陀螺仪的事件触发
4arcade-屏幕截图.png亮度变化事件
5arcade-屏幕截图 (3).png板载亮度传感器测量值

因为控制器是一个通用的插件,因此其他的传感器(如下图所示)在喵比特上没有,因此暂时可以不管
image.png

光敏示例

简介:创建一个精灵,并且让精灵循环说出现有光敏亮度
程序:
image.png
可以直接打开成程序:
https://makecode.com/_EkYhVPMAWT6A

现象:
可以看到手遮挡光敏传感器,数值有明显的变化
lAHPBFf_-hsk2Y7NAfHNAfE_497_497.gif

温度示例

简介:创建一个精灵,并且让精灵循环说出现有温度
程序:
image.png
可以直接打开程序:
https://makecode.com/_iLmVTKa89WrJ

现象:
可以看到手摸着热敏传感器位置,数值缓慢上升(测出的温度比室内温度稍高,因为PCB电路板上有热量)
lAHPBFDk_NGiiDvNAkLNAkI_578_578.gif

陀螺仪示例

简介:创建一个精灵,让陀螺仪左倾右倾,上倾下倾控制角色移动(微软平台暂时有bug,此示例现象得不到正确结果)
程序:
image.png
可以直接打开成程序:
https://makecode.com/_6e0AYcLCcexs

现象:
可以晃动喵比特,可以看到角色随着喵比的倾斜方向进行移动

Robotbit使用


插件加载

2021-06-06_11-35-53.jpg
在扩展输入栏,输入以下网址,点击搜索
github:kittenbot/meow-robotbit
2021-06-06_11-52-41.jpg
加载插件后会出现以下积木扩展
2021-06-06_11-52-59.jpg

📋:驱动电机

资源 7.png

序号积木描述
01Robotbit (1).png以一定速度开启电机
02Robotbit (4).png控制电机指定时间转动
03Robotbit (5).png同时控制两个电机转动
04Robotbit (2).png单个电机的停止控制
05Robotbit (3).png控制所有电机的停止命令

📋:驱动步进电机

资源 9.png

序号积木描述
01Robotbit-步进电机 (5).png控制两个步进电机同时转动角度
02Robotbit-步进电机 (3).png控制单个步进电机转动角度
03Robotbit-步进电机 (1).png控制单个步进电机转动圈数
04Robotbit-步进电机 (2).png安装了两个步进电机的小车,填写轮子的直径后,控制它前进指定距离
05Robotbit-步进电机 (4).png安装了两个步进电机的小车,填写轮子的直径后,轮子间的距离,控制它转动指定角度

📋:驱动geekservo 9g舵机

资源 8.png
Robotbit-Geek9g舵机.png
控制舵机转动指定的角度,角度范围为-45至225度

arcade-屏幕截图.png

📋:驱动geekservo 2kg舵机

image.png

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

arcade-屏幕截图 (1).png

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

image.png

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

arcade-屏幕截图 (2).png

📋:连接猫头超声波

Robotbit-超声波.png

Robotbit-超声波.png
arcade-屏幕截图 (3).png

📋:RGB灯控制

Robotbit.png

无线SD模块使用


购买连接:
https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-21482550023.12.1a635d5fCeInSr&id=605430480347

简介:只推荐进阶用户使用!主要用来与Microbit进行2.4G无线通讯,蓝牙一般用不上,除非有特殊需求
更多详情教程请看 无线SD模块教程详情页
image.png

更新摘要


2024-3-29

  • 修改快速开始

2024-3-20

  • 根据最新情况更新文档内容

2021-7-11

  • 增加板载传感器示例
  • 增加微课链接教程

2020-9-22

  • 增加快速开始教程