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

推荐订阅源

Microsoft Security Blog
Microsoft Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
美团技术团队
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
G
Google Developers Blog
阮一峰的网络日志
阮一峰的网络日志
The Cloudflare Blog
J
Java Code Geeks
Martin Fowler
Martin Fowler
M
MIT News - Artificial intelligence
IT之家
IT之家
博客园 - 三生石上(FineUI控件)
月光博客
月光博客
Google DeepMind News
Google DeepMind News
小众软件
小众软件
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
腾讯CDC
B
Blog

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观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 美国之行 三门问题的程序模拟
Scratch3.0与物理引擎
种瓜 · 2019-01-30 · via 夜行人

文章目录

前言

由于@griffpatch的出色工作, 我们可以在Scratch3.0中使用box2d作为物理引擎。 大家可以在scratch3v3.codelab.club体验它,选择box2d插件即可。

来看个演示:

这个演示结合了box2d插件和Leap Motion。

物理引擎

维基百科对物理引擎的解释非常清晰:

物理引擎是一个计算机程序模拟牛顿力学模型,使用质量、速度、摩擦力和空气阻力等变量。可以用来预测这种不同情况下的效果。它主要用在计算物理学和电子游戏以及计算机动画当中。

以大家熟悉的《塞尔达传说 旷野之息》为例,它拥有极高的自由度,物理引擎功不可没,这款游戏

添加了名为“化学引擎”(Chemistry Engine)的游戏机制,允许游戏中的物体相互影响和引发类似现实世界中的交互反应;例如林克可以使用火把点燃草丛,而风可以使火蔓延到更广的地方,燃烧的草丛产生的热空气能让林克使用滑翔翼飞起来。这种元素之间的叠加会让玩家在探索游戏世界时有更多的选择、可能性和自由度。

box2d

Box2D是一款免费的开源二维物理引擎。

如果把运动看作时间序列上的位置变化,那么为Scratch3.0添加物理引擎就不困难。并不需要hack底层的东西,通过runtime,我们可以set和get到target的舞台位置数据,于是就可以创建一个extension来负责计算这些数据的变化,从而赋予target物理属性。

后话

从Scratch的这个用例中,我们可以看到这个Scratch强大的可扩展性。

参考