惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
阮一峰的网络日志
阮一峰的网络日志
博客园 - 聂微东
F
Fortinet All Blogs
H
Help Net Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
DataBreaches.Net
MyScale Blog
MyScale Blog
B
Blog
I
InfoQ
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
GbyAI
GbyAI
Google DeepMind News
Google DeepMind News
IT之家
IT之家
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
博客园_首页
L
LangChain Blog
V
V2EX
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
The Blog of Author Tim Ferriss
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟
Snap! 中的嵌套精灵
种瓜 · 2024-04-22 · via 夜行人

文章目录

有时需要制作一种可以整体移动, 其中的部件又可以单独控制的 “超级精灵”。 典型的例子是人的身体: 由躯干、四肢和头部组成。 Snap! 允许将一个精灵指定为锚点(Anchors),而将其他精灵作为它的部件。 – SnapManual/B. Nesting Sprites: Anchors and Parts

前言

之前分享的两个项目都与嵌套精灵有关:

机械原理的动画

我对机械原理的动画一直很感兴趣, 这个 youtube 频道 里有大量展示机械原理的动画:

从播放量看得出,爱好者还不少。

使用嵌套精灵, 可以在 Snap! 中制作这类动画。

摩天轮

一共只用了 3 个积木!

摩天轮的例子受到 GP Blocks 同名项目的启发: Ferris Wheel(点击体验)

以下是 Snap 中的版本: 摩天轮

Snap! 嵌套精灵功能似乎受到 GP Blocks 的启发, 都是从 morphic submorph 移植而来, 因此也拥有 morphic 的具体性(Concreteness)和直接性(Directness): 用户通过直接操作图形, 指定他们之间的关系(建立约束)。 直接操作图形的想法受到The Alternate Reality Kit的启发。

曲柄滑块

曲柄滑块

像曲柄滑块这样看起来很复杂的项目, 一共只用了 10 个积木!

Snap! 最令人满意的地方在于它的简洁和可理解性.

Snap! 的反射(reflection)能力

反射(reflection), 是指计算机程序在运行时(runtime)可以访问、检测和修改它本身状态或行为的一种能力。用比喻来说,反射就是程序在运行的时候能够“观察”并且修改自己的行为。 – 维基百科: 反射式编程

Snap! 是 Smalltalk 和 Scheme 的私生子, 继承了 Smalltalk 强大的反射能力, 这些能力使得我们可以获取和操作精灵的大量状态, 在曲柄滑块的例子中, 我们将滑块固定在曲柄的"右端", 便利用到这种能力。

Snap! 的"sensing" 类型积木中, 提供了许多反射能力。

FAQ

如何通过积木设置旋转中心点?

绘制的矢量造型有问题

绘制的矢量造型可能出现以下问题:

  • 图案扭曲变形
  • 旋转中心偏移不见

Snap! 的矢量编辑器似乎不够稳定, 建议:

  • 切换到像素模式
  • 使用外部的矢量编辑器, 如 SVG-edit. 绘制完成后将 svg 到 Snap!

如何获得更多反射能力?

参考