摘要:原文鏈接寫在前面中文讀克,是騰訊打造的一款魔幻線條框架,讓線條成為一名優秀的舞者,讓線條們成為優秀的舞團,就是舞臺。官網你還記得經典的屏幕保護程序變幻線嗎其原理就是使用制作而成。代表運動方式,可以拿去到和。
【原文鏈接】
?
curvejs 中文讀["克js"],是騰訊AlloyTeam打造的一款魔幻線條框架,讓線條成為一名優秀的舞者,讓線條們成為優秀的舞團,HTML5 Canvas就是舞臺。
官網:https://alloyteam.github.io/curvejs/
你還記得window經典的屏幕保護程序《變幻線》嗎?
其原理就是使用 Perlin-Noise + Particle System + Bézier Curve + Color Transition 制作而成。
使用curvejs實現類似變幻線功能只需要不到10行代碼:
const { Stage, Curve, motion } = curvejs let stage = new Stage(document.getElementById("myCanvas")) stage.add(new Curve({ color: "#00FF00", data: {value: 0, step: 0.008, width: 600, height: 400}, motion: motion.noise }))
【體驗地址】
當然,curvejs的能力不僅僅是變換線,這完全取決于你的想象力。比如:
Points-To
Rotate
Word
Perlin-Noise
Simple
Simple-ES5
Curves
Line
Close
使用指南$ npm install curvejs
import curvejs from "curvejs"
也可以直接插入script到你的HTML頁面:
開始跳舞:
var Stage = curvejs.Stage, Curve = curvejs.Curve, canvas = document.getElementById("myCanvas"), stage = new Stage(canvas), rd = function() { return -2 + Math.random() * 2 } var curve = new Curve({ color: "#00FF00", points: [277, 327, 230, 314, 236, 326, 257, 326], data: [rd(), rd(), rd(), rd(), rd(), rd(), rd(), rd()], motion: function motion(points, data) { points.forEach(function (item, index) { points[index] += data[index] }) } }) stage.add(curve) function tick(){ stage.update() requestAnimationFrame(tick) } tick()
上面的points代表了三次貝塞爾曲線的4個點。motion代表運動方式,motion可以拿去到points和data。motion里函數的this指向Curve是實例curve。
使用內置motionvar curve = new Curve({ points: [277, 327, 230, 314, 236, 326, 257, 326], data: {angle: 0, r:5 ,step:Math.PI / 50 } motion: curvejs.motion.dance })基本原理
每次創建Curve 可以傳入八個數字,其實就代表上面的4個點的坐標
motion里可以拿到 points 進行自定義變幻
幻影不需要開發者考慮,curvejs會自動生成幻影
這里需要特別強調,curvejs的幻影不是利用canvas的黑色底,然后fillRect填充半透而產生,而是Particle System。所以curvejs制作出的效果不用一定是黑色背景,而且canvas也可以是透明,這就大大增加了適用場景。
提交你的motion在 motion 目錄, 有許多內置的motion提供給開發者使用,但是你也可以提交你的motion到這個項目,我會第一時間review并合入主干。
基本motion格式規則:
/** * motion description. * * @param {points} * @param {data} * data rule example: * [1, 0.2, -3, 0.7, 0.5, 0.3, -1, 1] */ export default function (points, data) { //你的motion邏輯 }curvejs相關
官網:https://alloyteam.github.io/curvejs/
Github: https://github.com/AlloyTeam/curvejs
更加方便的交流關于curvejs的一切可以加入QQ的curvejs交流群(179181560)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/82671.html
摘要:官網地址聊天機器人插件開發實例教程一創建插件在系統技巧使你的更加專業前端掘金一個幫你提升技巧的收藏集。我會簡單基于的簡潔視頻播放器組件前端掘金使用和實現購物車場景前端掘金本文是上篇文章的序章,一直想有機會再次實踐下。 2道面試題:輸入URL按回車&HTTP2 - 掘金通過幾輪面試,我發現真正那種問答的技術面,寫一堆項目真不如去刷技術文章作用大,因此刷了一段時間的博客和掘金,整理下曾經被...
摘要:下面來看看的結構在開發者工具里截圖每條都包含個數字,分別代表三次貝塞爾曲線的起點控制點控制點終點。這個函數可以自行嘗試一下,生成出的字符串賦值給的的就可以了。 showImg(https://segmentfault.com/img/remote/1460000009865685?w=164&h=98);showImg(https://segmentfault.com/img/remo...
摘要:絕對底部前端掘金來自國外的設計達人,純,可以實現當正文內容很少時,底部位于窗口最下面。有效解決圖片使用單位邊角缺失的問題前端掘金起因在移動端使用布局時圖片也需要用單位。 CSS 絕對底部 - 前端 - 掘金來自國外的設計達人,純CSS,可以實現: 當正文內容很少時,底部位于窗口最下面。當改變窗口高度時,不會出現重疊問題。甚至,創造該CSS的人還專門成立一個網站介紹這個CSS底部布局方案...
閱讀 1122·2021-11-25 09:43
閱讀 1644·2021-09-13 10:25
閱讀 2602·2021-09-09 11:38
閱讀 3409·2021-09-07 10:14
閱讀 1719·2019-08-30 15:52
閱讀 644·2019-08-30 15:44
閱讀 3578·2019-08-29 13:23
閱讀 1978·2019-08-26 13:33