今天介绍一个网络上并不常用的插件two.js,two.js是一款网页二维绘图软件,可以在指定区域内产生自设的各种动画效果

下载网址如下: https://two.js.org/#download

一:如何使用:

首先在页面中引入js文件:

    <script src="js/two.js" type="text/javascript" charset="utf-8"></script>

打开网页控制台console,输入Two,如果返回一个数组,证明已生效,如图:

创建一个div,作为选区

<div id="draw-shapes"></div>
<style type="text/css"> #draw-shapes{
border: 1px solid blue;
width: 400px;
height: 300px;
background-color: green;
} </style>

在JS中选取上面的div

var elem = document.getElementById('draw-shapes');//选中页面上的div

二:创建空间与空间中的形状:

完成上述操作以后,进行创建二维空间操作

var params = { width: 300, height: 200 };//二维空间宽高(overflow hidden) 

var two = new Two(params).appendTo(elem);//新建一个在div中的二维空间

创建图形:

var circle = two.makeCircle(72, 100, 50);//创建圆形(x坐标,y坐标,半径)
var rect = two.makeRectangle(213, 100, 100, 100);//创建矩形(x,y,宽,高)

三:调整图形属性:

// 具体设置不同的属性
circle.fill = '#FF8000';//fill填充色
circle.stroke = 'red'; // 边线颜色
circle.linewidth = 5;//边线宽
circle.opacity = 0.5;//透明度 rect.fill = 'blue';
rect.opacity = 0.75;
rect.stroke = "white";
rect.linewidth = 5;
     rect.noStroke();//去掉边线

四:投射到网页上:

将生成的空间,图形投射到网页上,需要输入如下指令:

two.update();

在网页中的效果如图所示

五:组的作用与建立:

组可以将数个图形合并到一个组中,一个组可以设置相同的属性与效果

在创建完图形之后,可以执行如下代码:

var group = two.makeGroup(circle, rect);

将两个图形放到一个组中

// 可以对组内所有形状进行属性设定
group.translation.set(two.width / 2, two.height / 2);//让一个组内所有的形状位移,使中心保持在二维空间的什么位置
group.rotation = Math.PI;//旋转
group.scale = 0.75;//缩放 group.linewidth = 7;//统一设置线宽

通过以上指令对组内所有形状进行相同的操作

two.js基本操作的更多相关文章

  1. js基本操作

    js操作页面三步骤 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...

  2. JS 基本操作

    1.判断数据是否包含某些数据 var ary=[{age:20,name:"a"},{age:20,name:"b"},,{age:30,name:" ...

  3. 模仿WC.exe的功能实现--node.js

    Github项目地址:https://github.com/102derLinmenmin/myWc WC 项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要 ...

  4. IOS-网络(网页开发-UIWebView,HTML,CSS,JavaScript,OC和JS代码互调)

    一.网页基础 // // ViewController.m // IOS_0218_网页开发1 // // Created by ma c on 16/2/18. // Copyright © 201 ...

  5. 如何让 JS 代码不可断点

    绕过断点 调试 JS 代码时,单步执行(F11)可跟踪所有操作.例如这段代码,每次调用 alert 时都会被断住: debugger alert(11) alert(22) alert(33) ale ...

  6. vue中解决时间在ios上显示NAN的问题

    最近在用vue,遇到倒计时在ios上显示为NAN的问题. 因为做的是倒计时支付,思路是获取服务器时间和下单时间,再转成秒级时间戳做差值. 在网上找到说是ios 不支持例如2018-09-01 10:0 ...

  7. js数组(列表)的基本操作

    本文主要介绍JS对数组(列表)的基本操作.习惯了用数据库的操作顺序来说明:增.删.改.查:合并,裁剪,排序,格式化. 一.数组元素的添加(增加) 增加数组元素有三种方法:unshift()  push ...

  8. H5JS二维动画制作!two.js的基本操作class1

    今天介绍一个网络上并不常用的插件two.js,刚开始学习的过程中,发现网上并没有合适的教程,在此发表基本操作 two.js是一款网页二维绘图软件,可以在指定区域内产生自设的各种动画效果 下载网址如下: ...

  9. js对WebApi请求的基本操作

    在WebAPI对外提供的,大概有4种接口,get,post,delete,put,现在,我就简单的来说一下js请求webApi的方式和大概的作用: get:在webApi中,get方法通常是用来获取数 ...

随机推荐

  1. FTP:文件传输协议(指令及响应代码)

    文件传输协议(FTP)使得主机间可以共享文件. FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输.控制连接使用类似 TELNET 协议在主机间交换命令 ...

  2. PTA 哈希查找 除留取余法

    PTA 电话聊天狂人(25 分) 给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤10​5​​),为通话记录条数.随后N行,每行给出一条通话记录.简单起 ...

  3. JS获取元素的offsetTop,offsetLeft等相关属性

    1. obj.clientWidth //获取元素的宽度 obj.clientHeight //元素的高度 obj.offsetLeft //元素相对于父元素的left obj.offsetTop / ...

  4. chrome提示您的连接不是私密连接

    在实验室登陆qq邮箱总是提示连接不是私密,感觉是上级路由器配置的问题,或者是被监控了.反正邮箱也没啥东西,干脆直接删除这个提示.解决方法如下,测试可用. 解决:我想打不开百度网页是因为chrome强制 ...

  5. log4j的学习和log4j在程序中使用的加载作用过程

    昨天进行代码评审的时候,大家都纠结在了日志信息应该如何输出上,其实我想大家应该一直都在使用log4j来对日志信息进行输出,但是未想应该有很大一部分人对log4j是不了解的,我遇到这个问题的时候也到网上 ...

  6. tcp/ip详解(转)

    与UDP不同的是,TCP提供了一种面向连接的.可靠的字节流服务.TCP协议的可靠性主要有以下几点保障: (1)应用数据分割成TCP认为最适合发送的数据块.这部分是通过“MSS”(最大数据包长度)选项来 ...

  7. C++多态性:虚函数的调用原理

    多态性给我们带来了好处:多态使得我们可以通过基类的引用或指针来指明一个对象(包含其派生类的对象),当调用函数时可以自动判断调用的是哪个对象的函数. 一个函数说明为虚函数,表明在继承的类中重载这个函数时 ...

  8. JQuery onload、ready 加载顺序

    // ready 这个方法只是在页面所有的DOM加载完毕后就会触发 // 方式1 $(function(){ // do something }); // 方式2 $(document).ready( ...

  9. shader实例(二十二)TexGen-球面贴图SphereMap

    http://blog.sina.com.cn/s/blog_89d90b7c0102vfqz.html 球面贴图一般用于环境反射,如下图(左边为球面贴图,右边为正常贴图),一个镜面水晶球在这只猫的前 ...

  10. Inside Geometry Instancing(下)

    Inside Geometry Instancing(下) http://blog.csdn.net/soilwork/article/details/655858 此教程版权归我所有,仅供个人学习使 ...