回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【花雕动手做】Kitronik 可编程游戏开发板基于 ARCADE MakeCode之夏季的雨 简单

头像 驴友花雕 2025.09.26 6 0

00 (2).jpg

Kitronik ARCADE 使用 Microsoft MakeCode 平台,具有以下优势:
图形化编程界面:适合初学者,支持拖拽式编程。
即时模拟器:可以实时测试游戏效果。
硬件兼容性:可部署到 Kitronik ARCADE 设备,实现实体游戏体验。
支持 Python/JavaScript:便于进阶学习。
 

00 (3).jpg

作为学习、练习与尝试,这里创建一个夏季的雨的小游戏。
打开网页版: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)

这段 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 毫秒调用一次雨滴生成函数,形成持续降雨效果。

图形编程参考实验程序

 

186.jpg


通过模拟器,调试与模拟运行

 

00220---0.gif

评论

user-avatar
icon 他的勋章
    展开更多