使用 Nebula 创建宇宙星空
效果
Nebula是一个轻量级(1kb压缩)JavaScript库,可以创建漂亮的宇宙动画。
包括可配置的恒星,星云,彗星,行星和太阳。Nebula带有一个vanilla JS和一个React包装器。
安装
npm install @flodlc/nebula
使用
Vanilla JS
import { createNebula } from "@flodlc/nebula";
<div id="nebula-element"></div>
const element = document.getElementById("nebula-element");
const nebula = createNebula(element, {
starsCount: 250,
starsRotationSpeed: 3,
nebulasIntensity: 8,
...
});
// ... if needed:
nebula.destroy()
React.js
import { ReactNebula } from "@flodlc/nebula";
export default App = () => {
return (
<>
// With default config
<ReactNebula/>
// With custom config
<ReactNebula config={{
starsCount: 250,
starsRotationSpeed: 3,
nebulasIntensity: 8,
...
}}/>
</>
);
}
配置
在 config
里面书写配置。
配置项 | 作用 | 类型 | 默认值 | 注意 |
---|---|---|---|---|
starsCount | 星星数量 | number | 350 | Recommended: < 1000 |
starsColor | 星星颜色 | string | #ffffff | |
starsRotationSpeed | 星星旋转速度 | number | 3 | |
cometFrequence | 彗星出现的频率 | number | 15 | 0 disables the comets |
nebulasIntensity | 星云强度 | number | 10 | |
sunScale | 太阳是否存在 | number | 1 | 0 hides the Sun |
planetsScale | 行星是否存在 | number | 1 | 0 hides the planets |
solarSystemOrbite | 太阳系轨道 | number | 65 | Recommended: < 100 |
solarSystemSpeedOrbit | 轨道速度 | number | 100 |