{"id":21561911,"url":"https://github.com/easonzero/animate","last_synced_at":"2025-10-07T05:05:11.293Z","repository":{"id":112072254,"uuid":"69264470","full_name":"Easonzero/Animate","owner":"Easonzero","description":"一个基于js的动画库，支持补间动画和奇奇怪怪的几个动画","archived":false,"fork":false,"pushed_at":"2016-09-26T15:59:08.000Z","size":4,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-18T04:47:32.256Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Easonzero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-26T15:31:37.000Z","updated_at":"2018-09-12T02:44:36.000Z","dependencies_parsed_at":"2023-05-09T11:18:08.150Z","dependency_job_id":null,"html_url":"https://github.com/Easonzero/Animate","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Easonzero/Animate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Easonzero%2FAnimate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Easonzero%2FAnimate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Easonzero%2FAnimate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Easonzero%2FAnimate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Easonzero","download_url":"https://codeload.github.com/Easonzero/Animate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Easonzero%2FAnimate/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260866133,"owners_count":23074765,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-24T09:29:21.539Z","updated_at":"2025-10-07T05:05:11.165Z","avatar_url":"https://github.com/Easonzero.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Animate\n一个基于js的动画库，支持补间动画和奇奇怪怪的几个动画\n\n假期实习的时候使用pixi绘制了一个地图，当时闲的无聊就为这个地图写了几个开场动画，为元素写了一个补间动画库。写的时候为了方便随时去除动画（怕老板发现炒了我），所以进行了一定的封装，讲道理使用的话开场动画只需要3个步骤\n\n1. 设置动画类型\n2. 将场景里所有元素绑定到动画库\n3. 在主渲染循环启动动画库\n\n补间动画部分使用的话更简单，就把需要进行动画的元素的初始值、目标值、运动函数类型和渲染函数放入补间动画接口里就ok\n\n\n具体怎么用我就不说了，反正直接跑肯定是跑不起来的（逃，主要是因为当时项目的框架是angular，渲染使用的pixi，所以多少还是对这俩框架有点依赖的，直接跑的话肯定报错～\n\n### 补间动画\n* 补间动画支持n种运动的线性曲线。\n* 支持拐点功能，使用者可以通过设置拐点来进行折线运动。\n* 可补间的属性仅限二维坐标和旋转值（讲道理应该是使用者自己设置补间属性的，其实也很容易，就是维护一个json而已，但是我懒！）\n* 绘制函数由外部提供，数据与绘制的关系由使用者控制，所以补间动画对控制元素的影响是可控的。\n\n### 奇奇怪怪的动画\n1.放缩平移动画：只是每个元素按照不同的速度平移到目标位置，同时场景整体进行放缩。\n2.翻转动画：一个使用2d绘图框架，绘制的3d翻转动画。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feasonzero%2Fanimate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feasonzero%2Fanimate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feasonzero%2Fanimate/lists"}