H5小内容(四)
SVG
基本内容
SVG并不属于HTML5专有内容
HTML5提供有关SVG原生的内容
在HTML5出现之前,就有SVG内容
SVG,简单来说就是矢量图
SVG文件的扩展名为".svg"
SVG使用的是XML语法
概念
SVG是一种使用XML技术描述二维图形的语言
SVG的特点
SVG绘制图形可以被搜索引擎抓取
SVG在图片质量不下降的情况下,被放大
SVG与Canvas的区别
SVG
不依赖分辨率
支持事件绑定
大型渲染区域的程序(例如百度地图)
不能用来实现网页游戏
Canvas
依赖分辨率
不支持事件绑定
最合适网页游戏
保存为".jpg"格式的图片
用途
网页中一些小的图标
网页中动态特效(动画效果)
HTML5中使用SVG
使用<svg></svg>元素
作用 - 类似于<canvas>元素
默认大小为300px 150px
使用CSS样式
使用SVG绘制图形,必须定义<svg>元素中
绘制图形
矩形元素
<rect x="" y="" width="" height="" />
圆形元素
<circle cx="" cy="" r="" />
椭圆元素
<ellipse cx="" cy="" rx="" ry="">
直线元素
<line x1="" y1="" x2="" y2="" />
折线元素
<polyline points="">
多边形元素
<polygon points="" />
特效元素
渐变 - 渐变元素定义在<defs>元素内
线型渐变 - <linearGradient>
该元素是起始元素
<linearGradient x1="%" y1="%" x2="%" y2="%">
<stop offset="%" stop-color="color" />
</linearGradient>
扇形(射线)渐变 - <radialGradient>
滤镜 - 高斯模糊
滤镜使用<filter>元素
<feGaussianBlur>元素 - 高斯模糊
in="SourceGraphic"
stdDeviation - 设置模糊程度
注意 - 定义在<defs>元素中
TWO.js
基本内容
JS库介绍
three.js - 专门用于绘制三维图形
two.js - 专门用于绘制二维图形
two.js支持的格式
SVG - 默认
Canvas
WebGL - 专门用于绘制图像
如何使用two.js
在HTML页面中引入two.js文件
在HTML页面中定义容器(<div>)
在javascript代码中
获取HTML页面中的容器
创建Two对象,将该对象添加到容器中
new Two(params).appendTo(Element);
使用two.js提供的API方法进行绘制
利用two.js提供的方法,设置图形
利用update()方法进行绘制
创建Two对象
构造器 - new Two(params)
params参数 - 设置当前对象的信息
type - 设置当前使用的格式(Two.Types.svg)
svg - 默认值
canvas
webgl
width和height - 设置宽度和高度
fullscreen - 设置是否全屏
Boolean值,true表示全屏
图形方法
makeLine() - 绘制线条
makeRectangle() - 绘制矩形
makeCircle() - 绘制圆形
makeEllipse() - 绘制椭圆
动画方法
update() - 更新动画
play() - 添加动画(循环)
pause() - 删除动画
设置绘制图形的样式
调用Two对象的绘制方法绘制图形时,返回该图形对象
通过该图形对象,设置相关属性值
分组操作
Two.Group
动画效果
bind(event,callback)方法 - 事件绑定
event - 绑定事件名称
update - 对应update()方法的作用
所有的DOM事件都可以绑定
callback - 事件处理函数
H5小内容(四)的更多相关文章
- H5小内容(一)
HTML5目前最新的规范(标准)是2014年10月推出 2005年左右出现HTML5版本(非标准) W3C组织(两个组织定义H5规范) 学习(研究)HTML5是学习未来(将来主流) ...
- H5小内容(六)
Web Worker 基本内容 单线程与多线程 Worker可以模拟多线程的效果 定义 - 运行在后台的javascript 注意 - 不能使用DOM ...
- H5小内容(五)
Geolocation(地理定位) 基本内容 地理定位 - 地球的经度和纬度的相交点 实现地理定位的方式 GPS - 美国的,依靠卫星定位 北斗定位 - 纯 ...
- H5小内容(三)
Canvas(画布) 基本内容 简单来说,HTML5提供的新元素<canvas> Canvas在HTML页面提供画布的功能 在画布中绘制各种图形 C ...
- H5小内容(二)
音视频处理 视频处理 基本内容 使用Flash技术处理HTML页面中的视频内容 包含音频.动画.网页游戏等 特点 浏览器原生不支持(IE浏览器要求安装A ...
- 从零开始开发一款H5小游戏(三) 攻守阵营,赋予粒子新的生命
本系列文章对应游戏代码已开源 Sinuous game. 每个游戏都会包含场景和角色.要实现一个游戏角色,就要清楚角色在场景中的位置,以及它的运动规律,并能通过数学表达式表现出来. 场景坐标 canv ...
- Egret白鹭H5小游戏开发入门(三)
前言: 在上一篇文章中着重介绍了H5小游戏开发的起步阶段,如Wing面板的使用,素材的处理,类的说明等等,那么今天主要是涉及到场景的创建,loading的修改等等的代码编写. 对于这一节,我在讲解的过 ...
- Egret白鹭H5小游戏开发入门(一)
前言: 好久没更新博客了,以前很多都不会,所以常常写博客总结,倒是现在有点点经验了就懒了.在过去的几个月里,在canvas游戏框架方面,撸过了CreateJS,玩得了Egret,又学过PIXI.js. ...
- 开发H5小游戏
Egret白鹭H5小游戏开发入门(一) 前言: 好久没更新博客了,以前很多都不会,所以常常写博客总结,倒是现在有点点经验了就懒了.在过去的几个月里,在canvas游戏框架方面,撸过了CreateJ ...
随机推荐
- LIMS系统供应商一览表
LIMS系统供应商一览表. 国内自主研发的LIMS供应商的产品质量一般,国外的LIMS产品在本土化方面,北京三维天地的质量最佳. LIMS系统JAVA..Net平台上都有,由于实验室业务数据量等原因, ...
- Unity: How to build and debug external DLLs
法一:http://forum.unity3d.com/threads/161685-How-to-build-and-debug-external-DLLs http://docs.unity3d. ...
- node.js在windows下的学习笔记(3)---npm
1.什么是npm npm是Node.js的包管理器,它允许开发人员在Node.js的应用程序中创建,共享,重用模块.之前我们通过node的官网的安装程序安装了Node.js,那么npm就已经装好了的. ...
- android点滴之标准SD卡状态变化事件广播接收者的注冊
眼下最完整的,须要注冊的动作匹配例如以下: IntentFilter intentFilter = new IntentFilter(Intent.ACTION_MEDIA_MOUNTED); int ...
- java18 任务调度
任务调度; Timer类, /** 了解 Timer() schedule(TimerTask task, Date time) schedule(TimerTask task, Date first ...
- struts2+ajax
web网页开发中需要用到struts2来处理action,通过struts2定义后端java类. <action name="loginAction" class=" ...
- 万网免费主机wordpress快速建站教程-域名申请
在上一篇文章中,小伙伴们已经申请好了万网的免费主机,接下来教大家如何申请域名. 由于万网免费主机要绑定在阿里备案的域名,现在以万网的域名注册为例子. 首先进入万网域名注册页面(http://www.n ...
- jBPM5 vs Actitivi
http://www.blogways.net/blog/2013/07/16/activiti-jbpm-compare.html jBPM是目前市场上主流开源工作引擎之一,在创建者Tom Baey ...
- 将商品SKU数据按商品分组,组装成json数据
需要封装的数据 将这些数据,分组出来,OLGoodsID相同的为一组,然后每个组的OLSKUID,放在一个字段里,变成 [{"OLGoodID":"test06261 ...
- MVC小系列(十八)【给checkbox和radiobutton添加集合的重载】
mvc对DropDownListFor的重载很多,但对checkbox和radiobutton没有对集合的重载 所以该讲主要针对集合的扩展: #region 复选框扩展 /// <summary ...