【花雕动手做】基于 Kitronik 可编程开发板之草地精灵
2025-09-111315
AI 快速预览详细
Kitronik ARCADE是一款专为编程教学与创客实践设计的可编程游戏机开发板,支持微软MakeCode Arcade平台。用户可以通过图形化或JavaScript编程方式轻松创建复古风格的街机游戏。该开发板集成了彩色LCD显示屏、方向控制键、功能按键、蜂鸣器和震动马达等交互组件,提供完整的游戏输入输出体验。无论是初学者进行编程启蒙,还是创客群体开发交互式作品,Kitronik ARCADE都能作为理想的硬件载体,助力创意实现。
|
Kitronik ARCADE 是一款由英国教育科技公司 Kitronik 精心打造的可编程游戏机开发板,专为编程教学与创客实践而设计。该设备原生支持微软的 MakeCode Arcade 平台,用户可通过图形化或 JavaScript 编程方式,轻松创建、下载并运行复古风格的街机游戏。 它集成了彩色 LCD 显示屏、方向控制键、功能按键、蜂鸣器和震动马达等交互组件,提供完整的游戏输入输出体验。无论是初学者进行编程启蒙,还是创客群体开发交互式作品,Kitronik ARCADE 都能作为理想的硬件载体,助力创意实现。 凭借其开源友好、易于上手、兼容性强等特点,该开发板广泛应用于中小学编程课程、创客工作坊、游戏开发教学以及个人项目原型设计,深受教育者与技术爱好者的喜爱。 ![]() ![]() ![]() |







实验场景记录
1、 初始化变量
python
[code]mySprite: Sprite = None[/code]
定义一个全局变量 mySprite,用于存储当前创建的精灵对象。
2、加载地图
python
[code]tiles.set_tilemap(tilemap("""
level_1
"""))[/code]
加载名为 level_1 的地图资源。
地图应在 Arcade 的地图编辑器中预先设计,包含不同类型的地砖。
3、遍历目标地砖并生成精灵
python
[code]for 值 in tiles.get_tiles_by_type(sprites.castle.tile_dark_grass2):[/code]
使用 tiles.get_tiles_by_type() 获取所有类型为 tile_dark_grass2 的地砖位置。
值 是每个地砖的坐标信息(TileLocation 对象)。
4、创建精灵并放置在地砖上
python
[code] mySprite = sprites.create(img("""..."""), SpriteKind.player)
tiles.place_on_tile(mySprite, 值)[/code]
创建一个精灵,图像为一个像素风格的角色(可能是草地精灵)。
使用 tiles.place_on_tile() 将精灵放置在对应地砖位置。
5、替换地砖类型
python
[code] tiles.set_tile_at(值, sprites.castle.tile_dark_grass3)[/code]
将原地砖 tile_dark_grass2 替换为 tile_dark_grass3,表示该位置已被处理或激活。
可用于视觉反馈或逻辑标记。
6、添加节奏感
python
[code] pause(350)[/code]
每次生成一个精灵后暂停 350 毫秒,形成逐个生成的动画效果。
增强视觉表现力,避免一次性生成所有精灵导致画面突变。
一、功能概览
打开网页版:https://arcade.makecode.com/,设置项目名称:草地精灵
MicroPython实验参考代码
[code]mySprite: Sprite = None
tiles.set_tilemap(tilemap("""
level_1
"""))
for 值 in tiles.get_tiles_by_type(sprites.castle.tile_dark_grass2):
mySprite = sprites.create(img("""
......ffff..............
....fff22fff............
...fff2222fff...........
..fffeeeeeefff..........
..ffe222222eef..........
..fe2ffffff2ef..........
..ffffeeeeffff......ccc.
.ffefbf44fbfeff....cddc.
.ffefbf44fbfeff...cddc..
.fee4dddddd4eef.ccddc...
fdfeeddddd4eeffecddc....
fbffee4444ee4fddccc.....
fbf4f222222f1edde.......
fcf.f222222f44ee........
.ff.f445544f............
....ffffffff............
.....ff..ff.............
........................
........................
........................
........................
........................
........................
........................
"""),
SpriteKind.player)
tiles.place_on_tile(mySprite, 值)
tiles.set_tile_at(值, sprites.castle.tile_dark_grass3)
pause(350)[/code]