Maison > Questions et réponses > le corps du texte
http://chuye.cloud7.com.cn/2314834
下载一个 初页app ,看到这个场景动画每一页都在canvas内,想问下这个是怎样把所有元素和动画都在canvas内实现的?
有什么类似的开源框架?
比如 https://github.com/Flipboard/react-canvas ?
迷茫2017-04-10 15:25:51
canvas做动画,可能就用到了requestAnimationFrame【不同浏览器,会有前缀】这个新增的方法
它替代了原本的setTimeout或setInterval,但要注意咯,你不喜欢,也可以用setTimeout来实现动画。
话说,用canvas做动画还是比较复杂的,具体制作的话,参考一下网上setTimeout制作动画就OK,
requestAnimationFrame和setTimeout还是比较类似的
PHP中文网2017-04-10 15:25:51
就是画进去的啊。
各种正在canvas
上做文章的各种应用,包括这个“初页”和各种HTML5
游戏框架,
本质当然都一样,做一个框架,把页面数据按约定解析成各种canvas
绘制方法。
“初页”这个似乎是自己写的框架,页面间切换是通过 CSS3
动画移动不同的 canvas
,
和 React-canvas
始终在同一个 canvas
里折腾有点差别。
而且似乎做了一些自适应工作,适应不同大小屏幕。
当然 React-canvas
也是个好框架,理当也能做到这种程度。
PHPz2017-04-10 15:25:51
看了楼主那个链接,我怎么没发现canvas呢。。。
那些动画都是css3做的,移动一大堆p而已
看到楼上煞有介事的说canvas的也是醉了
巴扎黑2017-04-10 15:25:51
我之前看到初页在移动端完全用的canvas也非常震惊,后面看到阮一峰的的文章<<也许,DOM 不是答案>>才对这方面有了了解.应该不是用的react-canvas这个框架,移动端只加载了一个first-page-min.js,我格式化后才5000多行,而react-canvas随便一个简单的example就有2w多行.仔细看了一下,初页的模板每页每个元素都是定死了的,他们可能是根据现有的模板绘制到canvas的,不是通过页面生成的.不过react-canvas也可以多多关注一下,我也刚了解到.
原文链接:http://www.ruanyifeng.com/blog/2015/02/future-of-dom.html