尝试实现了国外大佬用Web做出来跨窗口渲染动画效果

先看下效果图:

原地址:(需要工具)https://twitter.com/nonfigurativ/status/1722543833408286927: https://twitter.com/nonfigurativ/status/1722543833408286927

尝试实现了国外大佬用Web做出来跨窗口渲染动画效果_第1张图片

前言:今天大佬群里分享了一个视频,有个国外大佬用Web做出来一个可以跨多浏览器窗口实时互动的渲染动画效果,看评论说有用到了window.screenX``window.screenY以及localStorage做的。

搜了下api,看起来思路不是太复杂,而且是纯js,也不依赖第三方,开干!

整体思路就是先用canvas在每个窗口中心画出一个圆形,然后把自己的相对屏幕的坐标信息存在localStorage里,然后再从localStorage里获取其它窗口的坐标信息,然后在自己窗口里画出连接线以及其它窗口的圆。

先看下实现后的动画效果

 

本文只是提供个思路,把多窗口实时移动、互动效果实现出来了,其它银河系云图粒子效果、以及移动窗口时的阻尼缓冲效果,还需要其它大佬启发了。

知识点:

  1. window.requestAnimationFrame浏览器用于定时循环操作的一个接口,类似于setTimeout,主要用途是按帧对网页进行重绘,比如画动画。

  2. const { screenX, screenY } = window获取浏览器相对屏幕坐标。

  3. const barHeight = window.outerHeight - window.innerHeight获取浏览器body顶部地址栏高度

  4. canvas画图api

  5. localStorage本地存储器,同一域名下的多页面共享。

1 、先画个圆





	
	
	Cross window



	

你可能感兴趣的:(前端工具,web前端跨窗口渲染)