three.js
发表于|更新于
|浏览量:
阿谀奉承而无所图的人极少;爱奉承的话,就免不了要付出代价——佚名
一个js的3D库
git仓库:https://github.com/mrdoob/three.js
其中包含了很多案例

甚至有用它做游戏:
相关推荐
2023-07-17
handsontable
没有祖国,就没有幸福。每个人必须植根于祖国的土壤里。——佚名 分享一个表格组件 https://github.com/handsontable/handsontable 非常有意思
2021-05-01
js find函数
人的一生是短的,但如果卑劣地过这一生,就太长了——莎士比亚 在前端开发中,可能会有“需要从数组里取出符合条件的某条数据”这个需求 我们可以使用find函数 123var list = [1,4,3,2,5];console.log(list.find(n=>n===4)) // 输出结果4,取出满足条件的值var index = list.findIndex(n=>n===4) // index = 1,取出满足条件的值的下标 这样就从我们的list数组中取出了满足n===4这个条件的值
2024-08-26
vuemotion
青春是一种持续的陶醉,是理智的狂热。——拉罗什富科 作为vue的动画框架 https://github.com/Bug-Duck/vuemotion 目前属于非常崭新的项目,但是其积累是源自于newcar,因此备受期待 VueMotion 是一个现代动画引擎,就像 Python 的 Manim for Vuejs 生态系统一样,它提供了大量的小部件来帮助用户快速制作动画和视频。并且它具有很高的可扩展性,这意味着您可以轻松创建自己的动画风格。 VueMotion 的前身是 Newcar 动画引擎,但后来因为一些特殊原因停止了开发。如果你是 Newcar 的老用户,欢迎你迁移到 VueMotion。 其团队也是非常之年轻,还在读高中就已经开始做开源 Roadmap Basic Widget Arc Group Line Polygon Rect Text Image Mask Webview Polyline Animations move rotate scale create destroy stroke...
2024-06-18
MutationObserver监听dom变化
人生意义到底是什么呢?吃得好一点,睡得好一点,多玩玩,不羡慕别人,不听管束,多储蓄人生经验,死而无憾,这就是最大的意义吧,一点也不复杂。—— 蔡澜《不如任性过生活》 mdn: MutationObserver.MutationObserver() - Web API | MDN MutationObserver.observe() - Web API | MDN 代码如下: 12345678910111213 let app = document.querySelector("#app")var observerOptions = { attributes: true, // 观察属性变动 childList: true, // 观察目标子节点的变化,是否有添加或删除 subtree: true // 观察后代节点,默认为false}// 创建一个DOM监听器,在DOM更新完成时触发let observer = new MutationObserver((mutationsList, obs...
2022-07-24
js修改复制到剪贴板的内容
祝你今天愉快,你明天的愉快留着我明天再祝。——《爱你就像爱生命》 MDN:https://developer.mozilla.org/zh-CN/docs/Web/API/Element/copy_event demo: 123456789101112131415161718192021222324252627<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>copy</title></head>&...
2022-04-14
ts结构赋值时指定类型
“枕头里藏满了发了霉的梦,梦里住满了无法拥有的人。”——网易云评论 我们在typescript中使用变量结构时如果需要指定类型,可以这样写: 1const { a, b, c }: { a: any; b: string; c: { cname: any; cid: any; } } = obj; 但一般还是定义接口 12345678910interface IObj { a: any; b: string; c: IC;}interface IC { cname: any; cid: any;}const { a, b, c }: IObj = obj; 对于箭头函数也是同理 1array.map(({ a, b, c }: IObj)=>{}) 如果我们接口中某个属性可以为null或其他属性,我们可以使用| 12345interface IObj { a: ...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog