TOY FOLK LABORATORY · NO.001

小时候甩一下
就会叫的玩具

快速连续点击会叠加转速,按住不放会持续加速;拖动鼠标或手指画圈,还能改变绳子和竹筒的甩动轨迹。

连点加速长按持续加速支持手机体感

童玩实验室 · 第 001 号玩具

竹知了

快速连续点击会叠加转速,长按则持续加速;声音默认开启,第一次操作会自动解锁。

1000万以内最好的玩具

声音默认开启;第一次点击开始玩或画布时会自动解锁。快速连点加速,长按持续加速。

HOW TO PLAY

怎么把它甩响

  1. 01

    快速点按

    点击“开始玩”后,在画布上连续点按。两次点击间隔越短,叠加的切向冲量越大,转速会上升得更快。

  2. 02

    长按加速

    鼠标或手指按住不放时,系统会持续施加驱动力;按住时间越长,加速效果会逐步增强,松开后自然惯性衰减。

  3. 03

    拖动改轨迹

    按住并拖动画圈,可以移动木柄锚点,让绳长、重力和手势共同改变竹筒的甩动轨迹。

  4. 04

    分享最高分

    历史最高分保存在当前设备。点击分享成绩,可生成带来源参数的页面链接。

WHY IT SOUNDS

声音不是按钮触发的,
它来自运动本身。

传统竹知了的结构在不同地区并不完全一样,但核心都离不开旋转、摩擦与薄膜振动。网页版本把手柄作为移动锚点,把竹筒视作被绳约束的质点:重力不断拉低它,手腕的圆周动作不断注入切向速度。

当前响度使用运动能量驱动原创 Web Audio 合成器。它不是对实物声学结构的精密仿真,也不是其他作品的录音;它承担的是 MVP 的交互反馈。后续自行采集实物声音后,音频层可以替换,物理和计分内核不需要重写。

手柄 / Anchor
竹筒 / Body
重力
切向速度
绳长约束

ORIGINALITY & DATA

这次重新做了什么

独立物理内核

固定时间步、绳长投影、径向速度移除、能量归一化和计分均从空项目实现,并有自动化测试。

原创 Canvas 画面

竹筒、竹膜、木柄、红穗、纸纹和轨迹全部由本项目代码绘制,不使用外部项目图片。

原创合成音

当前使用振荡器、噪声、带通滤波和动态增益生成占位声音,未来只替换为自行采集的录音。

动作不上传

鼠标、触摸、键盘和传感器数据留在浏览器;服务器不会接收原始动作轨迹或设备姿态。

OPEN SOURCE · MIT

完整交互实现已经开源。

独立仓库包含 React、TypeScript、Canvas 2D、Web Audio、DeviceMotion、分享海报、物理与计分内核,以及 11 项自动化测试。官方试玩仍保留在当前 XBSTACK 页面。
github.com/xbstack/zhuzhiliao-web查看 GitHub 源码 →欢迎 Star、Issue 和 Pull Request

FROM WEB TO WECHAT

网站版不是终点,但它是所有版本的基准。

Web

当前页面

用于搜索、公众号链接、桌面和手机试玩。当前已经可以完成完整游戏循环。

Live MVP
H5

公众号入口

直接使用本页,后续增加微信分享卡片、公众号关注引导和活动参数。

Compatible
微信小游戏

原生适配

复用物理和计分核心,替换为 wx Canvas、InnerAudioContext、加速度计和微信分享接口。

Planned

FAQ

常见问题

竹知了网页版怎么操作?

快速连续点击会叠加转速,长按会持续加速;拖动鼠标或手指画圈可以改变甩动轨迹。手机还可以开启体感模式,键盘用户可用方向键移动木柄,空格键切换声音。

为什么第一次打开没有声音?

浏览器不允许网页自动播放声音。点击“开启声音”后才会初始化 Web Audio,页面切到后台时也会主动暂停。

竹知了为什么会响?

传统竹知了通常利用旋转带动结构摩擦或振动,使竹膜或薄膜周期性振动并放大声音。不同地区的制作材料和结构会有差异。

现在的声音是实物录音吗?

当前版本使用独立编写的 Web Audio 合成音作为占位,不使用其他项目音频。自行采集、清理并取得可商用权利的实物录音后,会替换为采样版本。

可以在公众号里玩吗?

可以在公众号文章中放入本页链接,用户点击后在微信浏览器打开。微信小游戏版本还没有发布,后续会复用同一套物理和计分核心。

下一件玩具

陀螺,还是竹蜻蜓?

后续开放投票和公众号征集。
返回童玩实验室 →