驴友花雕 发表于 前天 19:53

【花雕动手做】基于 Kitronik 可编程开发板之飞驰的星空

Kitronik ARCADE 是一款由英国教育科技公司 Kitronik 精心打造的可编程游戏机开发板,专为编程教学与创客实践而设计。该设备原生支持微软的 MakeCode Arcade 平台,用户可通过图形化或 JavaScript 编程方式,轻松创建、下载并运行复古风格的街机游戏。

它集成了彩色 LCD 显示屏、方向控制键、功能按键、蜂鸣器和震动马达等交互组件,提供完整的游戏输入输出体验。无论是初学者进行编程启蒙,还是创客群体开发交互式作品,Kitronik ARCADE 都能作为理想的硬件载体,助力创意实现。

凭借其开源友好、易于上手、兼容性强等特点,该开发板广泛应用于中小学编程课程、创客工作坊、游戏开发教学以及个人项目原型设计,深受教育者与技术爱好者的喜爱。







驴友花雕 发表于 前天 19:55

【花雕动手做】基于 Kitronik 可编程开发板之飞驰的星空

作为学习、练习与尝试,这里创建一个飞驰星空的小游戏。
打开网页版:https://arcade.makecode.com/,设置项目名称:飞驰的星空

MicroPython实验参考代码
projectile: Sprite = None

def on_on_update():
    global projectile
    if Math.percent_chance(25):
      projectile = sprites.create_projectile_from_side(img("""
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . 1 . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                """),
            0,
            randint(20, 30))
      projectile.set_position(randint(0, scene.screen_width()), 0)
      projectile.set_flag(SpriteFlag.GHOST, True)
game.on_update(on_on_update)



驴友花雕 发表于 前天 19:59

【花雕动手做】基于 Kitronik 可编程开发板之飞驰的星空

这段代码是用 MakeCode Arcade 编写的一个名为 “飞驰的星空” 的动态视觉效果逻辑。它模拟了星星从屏幕顶部不断飞驰而下的场景,营造出一种太空穿梭或高速飞行的氛围。解读如下:

一、核心功能概览



二、代码逐段解析
1、初始化变量
python
projectile: Sprite = None
定义一个全局变量 projectile,用于临时存储每次生成的星星精灵。

2、每帧更新逻辑
python
def on_on_update():

    global projectile

    if Math.percent_chance(25):

      ...
game.on_update(on_on_update)
每帧调用一次 on_on_update(),即每 20 毫秒左右执行一次。

使用 Math.percent_chance(25) 控制星星生成概率,约每 4 帧生成一颗星星。

3、创建星星精灵
python
projectile = sprites.create_projectile_from_side(img("""..."""), 0, randint(20, 30))
创建一个星星图像的精灵,图像为一个小点(1)。

水平速度为 0,垂直速度为 20~30,表示从顶部垂直飞下。

4、设置位置与属性
python
projectile.set_position(randint(0, scene.screen_width()), 0)

projectile.set_flag(SpriteFlag.GHOST, True)
将星星随机放置在屏幕顶部的任意 X 坐标。

设置为 GHOST,表示该精灵不会与其他精灵发生碰撞,纯粹用于视觉效果。

三、视觉效果与设计意图
模拟星星从天而降,形成“飞驰的星空”背景。

可用于游戏开场动画、太空飞船背景、或高速移动场景。

星星速度随机,增强动态感与真实感。


驴友花雕 发表于 前天 20:03

【花雕动手做】基于 Kitronik 可编程开发板之飞驰的星空

图形编程参考实验程序


驴友花雕 发表于 前天 20:05

【花雕动手做】基于 Kitronik 可编程开发板之飞驰的星空

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



实验场景记录






页: [1]
查看完整版本: 【花雕动手做】基于 Kitronik 可编程开发板之飞驰的星空