用js实现帧动画
来源:互联网 发布:如何给php代码加密 编辑:程序博客网 时间:2024/04/28 09:34
__setAnimate: function (data) {var _this = this;if(data.wraperId != _this.m_id) {return;}switch(data.key){case 'animate':_this._animate = _this._animate || {_speed:1.0};_this._animate.frames = data.value;var img = _this.m_viewElement.querySelector('#animate');if(!img) {img = document.createElement('img');img.setAttribute('draggable', 'false');img.id = 'animate';img.style.position = 'absolute';img.onload = function (event) {eventCenter.raise('NOTIFY_OBJECT_SIZE_CHANGED');};_this.m_viewElement.appendChild(img);}_this._animate.play = function(index){//数据异常时终止播放if(!_this._animate || !_this._animate.frames || _this._animate.frames.length<1){return;}//切换到指定帧var switchFrame = function(index){var resInfo = gameEditor.getProject().getFileInfoByID(_this._animate.frames[index].resourceID);var url = global.TAG_BASE_URL_RES_HOST + resInfo.resURL.substr(1);img.setAttribute('src', url);}//收到停止命令if(!_this._animate._play){//停止播放时回到第一帧switchFrame(0);return;}//播放到最后一帧时if(index>=_this._animate.frames.length){index = 0;var loop = true;//TODOif(!loop){//如果不循环播,回到第一帧并停止播放_this._animate._play = false;switchFrame(0);return;}}switchFrame(index);var delayTime = _this._animate.frames[index].duration * 1000 / _this._animate._speed;index++;setTimeout(_this._animate._playfunction(index),delayTime);};_this._animate._playfunction = function(index){return function(){if(_this._animate){_this._animate.play(index);}}};if (_this._selected) {_this._animate._play = true;_this._animate.play(0);};break;case 'speed':_this._animate = _this._animate || {_speed:1.0};_this._animate._speed = data.value;if (_this._animate._speed == 0 ) {//如果速度是0_this._animate._play = false;}else if (_this._animate._speed > 0) {_this._animate._play = true;_this._animate.play(0);};break;case 'delete':_this._animate = null;var img = _this.m_viewElement.querySelector('#animate');if(img) {_this.m_viewElement.removeChild(img);}eventCenter.raise('NOTIFY_OBJECT_SIZE_CHANGED');break;}},
为了保证点击的时候播放
__cancelSelectObject: function (id) { var _this = this; _this._selected = false;if(_this._animate){_this._animate._play = false;} }, /** * [__selectObject 设置选中和取消方法] * @param {String} id [description] */ __selectObject: function (data){ var _this = this; if(data.id != _this.m_id) {return;}_this._selected = true;if(_this._animate && _this._animate.play && !_this._animate._play ){_this._animate._play = true;_this._animate.play(0);} },
0 0
- 用js实现帧动画
- js实现帧动画
- 用js实现动画效果
- 用js+css实现帧动画播放的功能
- 用js实现自动打字动画效果
- 用JS实现人物走动动画效果
- JS实现动画
- js实现动画效果
- js实现轮播图动画
- JS动画实现
- 20150730 JS动画效果实现
- JS如何实现抛物线动画
- JS实现动画效果框架
- js实现页面加载动画
- js实现动画的方法
- JS实现倒计时动画效果
- js+css3动画实现手风琴
- js监听css3动画实现
- 常见的算法实现
- DreamWear 破解方法
- Android Material Design之CoordinatorLayout+AppBarLayout实现上滑隐藏ToolBar
- 动态规划之0-1 背包问题
- Linux Kernel-TI宏定义
- 用js实现帧动画
- eclipse正常启动tomcat,但是访问不了tomcat主页
- android studio开发<四> 控件布局
- TCP三次握手及关闭时的2MSL分析 (A)
- CCF-201409-4 最优配餐(BFS)
- Gradle相关配置
- Github上传代码菜鸟超详细教程【转】
- 自定义View遇到的重绘。
- 项目2