【花雕动手做】基于Kitronik游戏机开发板之夏季的雨
Kitronik ARCADE 使用 Microsoft MakeCode 平台,具有以下优势:
图形化编程界面:适合初学者,支持拖拽式编程。
即时模拟器:可以实时测试游戏效果。
硬件兼容性:可部署到 Kitronik ARCADE 设备,实现实体游戏体验。
支持 Python/JavaScript:便于进阶学习。
【花雕动手做】基于Kitronik游戏机开发板之夏季的雨
作为学习、练习与尝试,这里创建一个夏季的雨的小游戏。打开网页版:https://arcade.makecode.com/,设置项目名称:夏季的雨
MicroPython实验代码
@namespace
class SpriteKind:
Water = SpriteKind.create()
def on_sprite_kind_update_interval(sprite):
if sprite.y >= 62:
sprite.set_image(assets.image("""
Raindrop
"""))
sprite.vy = 0
def on_after():
sprites.destroy(sprite)
timer.after(100, on_after)
spriteutils.on_sprite_kind_update_interval(SpriteKind.Water, 1, on_sprite_kind_update_interval)
Rain: Sprite = None
scene.set_background_image(assets.image("""
Water
"""))
tiles.set_current_tilemap(tilemap("""
Sky
"""))
scroller.scroll_background_with_speed(-6, 0)
def on_update_interval():
global Rain
Rain = sprites.create(img("""
8
8
"""), SpriteKind.Water)
Rain.set_flag(SpriteFlag.RELATIVE_TO_CAMERA, True)
Rain.set_position(randint(0, 200), 0)
Rain.vy = 300
game.on_update_interval(10, on_update_interval)
【花雕动手做】基于Kitronik游戏机开发板之夏季的雨
这段 Arcade MakeCode 的 MicroPython 实验代码《夏季的雨》模拟了一个动态的雨滴场景,展现了雨滴从天空落下并消失的过程。玩家无需操作,程序自动生成雨滴并模拟其下落、碰撞与消失,营造出夏日雨景的视觉效果。代码结构详解
1、精灵种类定义
python
@namespace
class SpriteKind:
Water = SpriteKind.create()
创建一个新的精灵种类 Water,用于标记雨滴。
2、雨滴行为逻辑
python
def on_sprite_kind_update_interval(sprite):
if sprite.y >= 62:
sprite.set_image(assets.image("Raindrop"))
sprite.vy = 0
def on_after():
sprites.destroy(sprite)
timer.after(100, on_after)
每个雨滴精灵每 1 毫秒检查一次位置:
如果雨滴落到 y ≥ 62(接近地面):
更换图像为“Raindrop”形态。
停止垂直速度(vy = 0)。
100 毫秒后销毁该雨滴。
python
spriteutils.on_sprite_kind_update_interval(SpriteKind.Water, 1, on_sprite_kind_update_interval)
将上述逻辑绑定到所有 Water 类型精灵,每 1 毫秒执行一次。
3、场景设置
python
scene.set_background_image(assets.image("Water"))
tiles.set_current_tilemap(tilemap("Sky"))
scroller.scroll_background_with_speed(-6, 0)
设置背景图为“Water”,营造雨天氛围。
使用 tilemap “Sky”作为地图结构。
背景缓慢向左滚动,模拟风或移动感。
4、雨滴生成机制
python
def on_update_interval():
global Rain
Rain = sprites.create(img("8\n8"), SpriteKind.Water)
Rain.set_flag(SpriteFlag.RELATIVE_TO_CAMERA, True)
Rain.set_position(randint(0, 200), 0)
Rain.vy = 300
每 10 毫秒生成一个新的雨滴:
图像为两个像素点(简化雨滴形态)。
设置为相对于摄像机位置。
随机横坐标(0–200),纵坐标为顶部。
垂直速度为 300,快速下落。
python
game.on_update_interval(10, on_update_interval)
每 10 毫秒调用一次雨滴生成函数,形成持续降雨效果。
【花雕动手做】基于Kitronik游戏机开发板之夏季的雨
图形编程参考实验程序通过模拟器,调试与模拟运行
页:
[1]