美文网首页
利用konva框架用面向对象的方式制造进度条

利用konva框架用面向对象的方式制造进度条

作者: 土豪码农 | 来源:发表于2017-03-24 19:44 被阅读0次

konva是一个canvas的框架,里面有些用法和jQuery十分相似,功能也十分强大

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="box"></div>
<script src="js/konva.min.js"></script>
<script>
    /****************面向对象的封装***************/
    function Bar(option) {
        this._init(option);
    }

    Bar.prototype = {
        _init: function (option) {
            this.x = option.x;
            this.y = option.y;
            this.width = option.width;
            this.height = option.height;
            this.fillcolor = option.fillcolor;
            this.stroke = option.strokeStyle;
            this.strokeWidth = option.strokeWidth;
            this.corner = option.corner;
        },
        render: function (layer) {
            var group = new Konva.Group({
                x:0,
                y:0
            });
            layer.add(group);
            var outRect = new Konva.Rect({
                x:innerWidth/8,
                y:innerHeight/2,
                width:innerWidth*3/4,
                height:innerHeight/20,
                stroke:this.stroke,
                strokeWidth:this.strokeWidth,
                cornerRadius:this.corner
            });
            group.add(outRect);
            var inRect = new Konva.Rect({
                x:innerWidth/8,
                y:innerHeight/2,
                width:innerWidth*3/4,
                height:innerHeight/20,
                fill:this.fillcolor,
                cornerRadius:this.corner,
                id:"inRect"
            });
            group.add(inRect);
            group.draw();
        },
        move: function () {
            stage.find("#inRect").to({
                width:this.width/3,
                yoyo:true
            })
        }
    };

    /****************应用操作***************/
    var stage = new Konva.Stage({
        width:innerWidth,
        height:innerHeight,
        container:"box"
    });

    var layer = new Konva.Layer({});

    stage.add(layer);

    var bar = new Bar({
        x:stage.width()/8,
        y:stage.height()/2,
        width:stage.width()*3/4,
        height:stage.height()/10,
        strokeStyle:"#ccc",
        strokeWidth:6,
        fillcolor:"red",
        corner:6
    });

    bar.render(layer);
    bar.move();
    stage.draw();
</script>
</body>
</html>

相关文章

  • 利用konva框架用面向对象的方式制造进度条

    konva是一个canvas的框架,里面有些用法和jQuery十分相似,功能也十分强大

  • Konva的使用

    Konva Konva特点 面向对象方式 一切皆对象 如何定义对象 ①Object构造函数 ②直接量 {} ③...

  • iOS的一些总结

    目录 1、Aspects框架(AOP面向切面编程) 2、利用关联对象的方式为类别动态添加属性 1、ASpect(A...

  • c#面向对象编程

    面向对象的编程,其实就是用现实中的思维方式来编程。 面向对象编程的3个方式:封装,继承,多态。 而提到面向对象编程...

  • 数据存储之CoreData

    CoreData基本概念 CoreData苹果自己推出的数据存储框架,以面向对象方式储存和管理数据(提供面向对象的...

  • ★ 面向对象编程

    OOP 面向对象编程 Object Oriented Programming 面向对象编程 是用抽象方式创建基于现...

  • 类与对象(1) - Class、Object

    面向对象编程思想 Java开发是利用 面向对象 的思想实现 面向过程 的开发。 面向对象编程(OOP:Object...

  • 面向对象

    面向对象 机器语言 -> 汇编 -> 低级语言(面向过程) -> 高级语言(面向对象) -> 模块 -> 框架 -...

  • JavaScript面向对象核心知识归纳

    面向对象 概念 面向对象就是使用对象。面向对象开发就是使用对象开发。 面向过程就是用过程的方式进行开发。面向对象是...

  • ORM(对象关系映射)

    ORM(对象关系映射) 用于实现面向对象编程语言里不同类型系统的数据之间的转换,简言之,就是用面向对象的方式去操作...

网友评论

      本文标题:利用konva框架用面向对象的方式制造进度条

      本文链接:https://www.haomeiwen.com/subject/mwtqottx.html