[Extjs6] Ext.draw.Container 添加sprite并添加spriteevents事件处理函数

来源:互联网 发布:淘宝首页html源代码 编辑:程序博客网 时间:2024/05/21 22:37
Ext.define('Admin.view.xxxxxx',{    extend: 'Ext.draw.Container',    xtype: 'smartdispatchlinestation',    requires: [        'Ext.draw.Component',        'Ext.draw.plugin.SpriteEvents'    ],    width: '100%',    height: 400,    plugins: ['spriteevents'],    fromtype: 1,  //用于业务区分  js中可以自定义添加一些额外的属性 以方便业务的处理    sprites: [],    initComponent:function(){        var draw = this,            surface = draw.getSurface();        var drawItems = [];        //添加初始化的车点        var topCarNo = Ext.Number.randomInt(1000,2000);        var topCarX = 750,  //200            topCarY = 100;  //200        var topCarSprite = {            type: 'path',            data: topCarNo,            cls: topCarX+'-'+topCarY,            id: 'topcar',  //定义ID  为了后面方便获取            path: 'M'+topCarX+','+topCarY+'L'+topCarX+','+(topCarY-10)+' L'+(topCarX+10)+','+topCarY+' L'+topCarX+','+(topCarY+10)+' L'+topCarX+','+topCarY,            strokeStyle: 'rgb('+Ext.Number.randomInt(50,200)+','+Ext.Number.randomInt(50,200)+','+Ext.Number.randomInt(50,200)+')',            lineDashOffset: 1,            lineWidth: 6,            animation: {                duration: 1000,                easing: 'elasticOut'            }        };        var topCarSpriteText = {            type: 'text',            id: 'topcartext',            x: topCarX - 10,            y: topCarY + 30,            text: topCarNo,            //text: '&#xf207;',            fontSize: 15,            fillStyle: 'red'        }        drawItems.push(topCarSprite);        drawItems.push(topCarSpriteText);        //surface.add(topCarSprite); //绘制到图形上        //surface.add(topCarSpriteText);        surface.add(drawItems);        //根据ID获取指定的sprite        topCarSprite = surface.get("topcar");        topCarSpriteText = surface.get("topcartext");        var id1 = setInterval(function(){            var xy = topCarSprite.cls;    // xy为 x-y            var xyArray = xy.split('-');            //var t = xyArray[0]-200 > 0? xyArray[0]-200:600;            var t = xyArray[0]-200;            topCarX = 200+((t+50)%600);            topCarSprite.cls = topCarX+'-'+xyArray[1];            //console.log('topCarSprite: '+ topCarSprite.cls);            topCarSprite.setAttributes({                path:'M'+topCarX+','+topCarY+'L'+topCarX+','+(topCarY-10)+' L'+(topCarX+10)+','+topCarY+' L'+topCarX+','+(topCarY+10)+' L'+topCarX+','+topCarY            });            topCarSpriteText.setAttributes({                x:topCarX - 10,                y:topCarY + 30            });            surface.renderFrame();        },1000);        draw.callParent(arguments);    },    listeners:{        spriteclick:function(item, event){            var sprite = item && item.sprite;            if(sprite.type == 'circle')            {                //绘制图片                var draw = this,                    surface = draw.getSurface();                var cx = sprite.cx,                    cy = 0,                    heightPic = 200,                    widthPic = 200;                if(sprite.cy < 150)                    cy = sprite.cy;                else                    cy = sprite.cy - heightPic;                var pic = Ext.create('Ext.draw.sprite.Image',{                    src: Ext.getResourcePath('images/img'+Ext.Number.randomInt(1,4)+'.jpg'),                    x: cx,                    y: cy,                    height: heightPic,                    width: widthPic,                    fx:{                        duration:300,                        easing: 'bounceOut'                    }                });                surface.add(pic);                setTimeout(function(){                    pic.destroy();                },2000);            }            else if(sprite.type == 'path'){                alert(sprite.data);            }            console.log("spriteclick....");            console.log(sprite);        }    }});
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孩子没有出生证怎么办通行证 去日本旅游怎么办签证 去美国旅游签证怎么办 我想去泰国怎么办签证 怎么办去泰国的签证 去韩国工作怎么办签证 去越南打工怎么办签证 越南到中国签证怎么办 去越南工作签证怎么办 马来西亚留学签证过期后怎么办 日本留学存款不够怎么办 没有工作单位怎么办签证 深户日本签证怎么办 土耳其跟团签证怎么办 公司取消交通车职工怎么办 出国健康证丢失怎么办 大三阳怎么办健康证 办不了健康证怎么办 办健康证不合格怎么办 美团健康证怎么办 便检取样很多怎么办 拉不出大便怎么办马上解决方法 无业人员怎么办健康证 健康证没身份证怎么办 身份证过期了怎么办护照 驾照体检表丢了怎么办 驾照体检表掉了怎么办 驾校体检表掉了怎么办 身份证掉了怎么办护照 驾照体检表过期了怎么办 助力车行驶证过期怎么办 c1证骑摩托车怎么办 别人知道驾驶证号码怎么办 摩托车卖了车牌怎么办 违章超过12分怎么办 违章扣分24分怎么办 驾驶证有效期过了怎么办 驾驶证到期没审怎么办 驾驶证扣不了分怎么办 集体户口怎么办户口本公证 强制保险单丢了怎么办