讲师回答 / ustbhuangyi
其实这个帧动画库我在百度工作的时候,从一个实际项目需求里抽象出来的。因为我们有大量帧动画的需求,但又不想为每个需求去编写那些重复的代码,所以就想抽象一个通用的帧动画库,方便开发。当时设计接口的时候一个很重要的原则,就是怎么让人用起来爽,就定了链式调用这种方式。后来也发现这种设计和promise的一些设计思想不谋而合。一开始设计的时候就考虑到大部分接口了,比如loadImage,changePosition,changeSrc,then,repeat,repeatForever,enterFrame,sta...
2016-07-05
讲师回答 / ustbhuangyi
首先,要理解JS的执行是单线程的,在一轮Event Loop的时候,会执行所有同步JS代码。setInterval的运行机制是,将指定的代码移出本次执行,等到下一轮Event Loop时,再检查是否到了指定时间。如果到了,就执行对应的代码;如果不到,就等到再下一轮Event Loop时重新判断。这意味着,setTimeout指定的代码,必须等到本次执行的所有代码都执行完,才会执行。每一轮Event Loop时,都会将“任务队列”中需要执行的任务,一次执行完。setTimeout和setInterval都是...
2016-07-04
讲师回答 / ustbhuangyi
关于素材问题,图片资源都在这里:https://github.com/ustbhuangyi/animation/tree/master/demo源码在这里:https://github.com/ustbhuangyi/animation
2016-05-26