驴友花雕 发表于 2025-9-26 13:34:18

【花雕动手做】基于Kitronik游戏机开发板之夏季的雨



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




驴友花雕 发表于 2025-9-26 13:35:34

【花雕动手做】基于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)


驴友花雕 发表于 2025-9-26 13:44:12

【花雕动手做】基于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 毫秒调用一次雨滴生成函数,形成持续降雨效果。

驴友花雕 发表于 2025-9-26 13:47:19

【花雕动手做】基于Kitronik游戏机开发板之夏季的雨

图形编程参考实验程序



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



页: [1]
查看完整版本: 【花雕动手做】基于Kitronik游戏机开发板之夏季的雨