# easyrender **Repository Path**: semdy/easyrender ## Basic Information - **Project Name**: easyrender - **Description**: a lite frameworks for canvas - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-12-30 - **Last Updated**: 2021-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # easyrender a lite frameworks for canvas, simply, faster and liter. for more information see API document or [demos](#live-demo). #简要文档 ## EC提供的属性 ##
| properties | 类型 | 默认 | 描述 |
| ua | String | navigator.userAgent | 浏览器标识 |
| isTouch | Boolean | 视浏览器类型而定 | 是否是可触摸设备 |
| noop | Function | function(){} | 空方法 |
| EVENTS | Object | -- | 属性:START, MOVE, END, RESIZE |
| method | parameter | 描述 | return |
| extend | Object: source -> 继承的对象 Object: props... -> 被继承的对象 |
对象的继承 | source |
| provide | Object: props -> 扩展的方法或属性 | 扩展EC的静态方法或属性 | EC |
| classExtend | Object: protoProps -> 继承的原型链 Object: staticProps -> 设置额外的静态属性 |
类的继承 | 新的constructor |
| isPointInPath | Object: {x, y} -> 坐标点 Object: object -> 组件对象 |
检测坐标点是否在组件边界内 | Boolean |
| isDefined | Object: obj | 检查变量是否被定义 | Boolean |
| isNumber | Object: obj | obj是否为数字类型 | Boolean |
| isString | Object: obj | obj是否为字符串类型 | Boolean |
| isObject | Object: obj | obj是否为Object | Boolean |
| isArray | Object: obj | obj是否为数组 | Boolean |
| getStyle | Object: element -> DOMObject String: attr -> 样式属性 |
获取指定节点样式 | String |
| method | parameter | 描述 | return |
| color | String: rgb -> 颜色rgb | toHex(rgb) -> RGB颜色转换为16进制 |
String: hex |
| String: hex -> 颜色16进制值 Number: alpha -> 颜色透明度 |
toRgb(hex, alpha) -> 16进制颜色转为RGB格式 |
String: rgb | |
| getParameter | name:参数名 | 获取网页url参数 | String |
| hitTest | objectA, objectB | 检测两个组件是否有碰触 | Boolean |
| method | parameter | 描述 |
| on | name: 事件名 callback: 事件监听listener scope: 设定上下文 |
发起一个事件监听 |
| once | name: 事件名 callback: 事件监听listener scope: 设定上下文 |
发起一个事件监听,且仅一次有效 |
| off | name: 事件名 callback: 事件监听listener |
取消一个事件监听 |
| dispatch / emit | name: 事件名 | 触发一个事件 |
| clear | -- | 清空事件池 |
| method | parameter | 描述 | return |
| loadImage | src: 图片地址 | 加载一张图片 | Event |
| ajaxSetup | object: ajax全局配置参数 | ajax全局配置 | undefined |
| ajax | params: ajax配置参数 | 发起ajax请求,用法与jQuery.ajax类似 | XMLHttpRequest |
| request | params: ajax配置参数 | 配置参数与ajax相同,但返回内容不同。 支持的写法RES.request(params).then(succFun, errFun).always(alwaysFun); 虽支持promise写法,但是并不是真正的promise模式 |
Event |
| get | url: 请求地址 params: ajax配置参数 |
request({type: 'GET'})的简易调用 | Event |
| post | url: 请求地址 params: ajax配置参数 |
request({type: 'POST'})的简易调用 | Event |
| getJSON | url: 请求地址 params: ajax配置参数 |
request({type: 'GET', dataType: 'json'})的简易调用, 自动将获取到的数据转json | Event |
| loadJson | url: 请求地址 | request({url: url, dataType: "json"})的简易调用, 自动将获取到的数据转json | Event |
| loadJsonp | url: 请求地址 | 跨域请求数据 | Event |
| loadScript | url: js文件地址 | 异步加载一个外部js文件 | Event |
| getRes | resId: 资源label | 获取资源配置项 | object |
| getTexture | resId: 资源label | 获取资源纹理图 | IMG DOMObject |
| el | selector: 节点selector container: 节点父容器selector |
一个简单的元素选择器 | DOMObject/Array<DOMObject> |
| name | 描述 |
| success | 当request/image/script处理成功时执行的回调 |
| error | 当request/image/script处理失败时执行的回调 |
| complete | 当request/resource加载完成时执行的回调 |
| progress | 当resource正在加载时执行的回调,传递两个参数loaded, total |
| name | 默认值 | 描述 |
| url | "" | 请求地址 |
| type | GET | 请求类型 |
| async | true | 请同步或异步 |
| data | {} | 请求参数配置 |
| headers | {} | 设置请求响应头 |
| cache | true | 是否可缓存 |
| cors | false | 是否通过withCredentials跨域请求 |
| global | true | 是否触发ajax全局的相关事件 |
| beforeSend | noop | 请求发生前执行的回调,当返回false时,终止请求 |
| success | noop | 请求成功时执行的回调 |
| error | noop | 请求失败时执行的回调 |
| complete | noop | 请求成功或失败时执行的回调 |
| timeout | 0 | 设置超时上限, 为0时则不设上限 |
| context | null | 配置上下文 |
| dataType | text | 设置返回的数据类型,可选值有:text, html, xml, json, jsonp, script |
| callbackName | ? | 请求类型为jsonp时,设置的回调函数名称 |
| contentType | application/x-www-form-urlencoded;charset=UTF-8 | 设置请求响应类型 |
| xhr | new XMLHttpRequest | 自定义XMLHttpRequest |
| method | parameter | 描述 |
| start | -- | 开始当前ticker |
| stop | -- | 停止当前ticker |
| name | 描述 |
| ticker | 当Ticker运行时执行的回调 |
| method | parameter | 描述 | return |
| constructor | Number: delay -> 间隔时间 Number: repeatCount -> 重复次数 |
按设定间隔时间执行脚本 | Event |
| start | -- | 开始计时 | Event |
| stop | -- | 停止计时 | Event |
| wait | Number: time -> 计时结束后延迟指定时间执行complete事件 | 计时结束设置延迟 | Event |
| pause | Number: time -> 计时暂停指定时间后,继续计时,不设定则不会继续计时 | 暂停计时 | Event |
| setRepeatCount | Number: count -> 设定计时次数 | 设定计时次数 | Event |
| reset | -- | 重置计时 | Event |
| name | 描述 |
| timer | 当Timer运行时执行的回调 |
| complete | 当Timer结束时执行的回调 |
| pause | 当Timer暂停时执行的回调 |
| method | parameter | 描述 | return |
| constructor | Object: object -> component Object: congfig -> Tween的配置 |
可配置的参数有: {reverse: true} 当动画结束后,又以动画的形式返回初始状态; {loop: true} 动画无限循环 {loop: 2...} 指定动画执行几次 |
EC.Tween类 |
| to |
Object: tweenAttrs -> 动画结束状态参数 Number: duration -> 动画持续时间 Function: Easing -> 缓动动画类 |
配置动画结束状态 | EC.Tween类 |
| wait | Number: time -> 动画暂停时间 | 设置动画暂停时间 | EC.Tween类 |
| stop | -- | 停止动画 | EC.Tween类 |
| onUpdate |
Function: callback -> 当前状态更新时执行的回调 Object: context -> 设定上下文 |
当前状态更新时间执行 | EC.Tween类 |
| call |
Function: callback -> 动画结束时执行的回调 Object: context -> 设定上下文 |
动画结束时执行 | EC.Tween类 |
| method | parameter | 描述 | return |
| get | Object: object -> component Object: congfig -> Tween的配置 |
可配置的参数有: {reverse: true} 当动画结束后,又以动画的形式返回初始状态; {loop: true} 动画无限循环 {loop: 2...} 指定动画执行几次 |
new EC.Tween类 |
| removeTweens | Object: target -> component | 停止目标object的动画 | EC.Tween |
| removeAllTweens | Object: container -> Stage或Sprite | 停止指定容器内容所有子集的动画 | EC.Tween |
| method | 子集 |
| Linear | None |
| Quadratic | In Out InOut |
| Cubic | In Out InOut |
| Quartic | In Out InOut |
| Quintic | In Out InOut |
| Sinusoidal | In Out InOut |
| Exponential | In Out InOut |
| Circular | In Out InOut |
| Elastic | In Out InOut |
| Back | In Out InOut |
| Bounce | In Out InOut |
| properties | 类型 | 默认 | 描述 |
| x | Number | 0 | 横坐标 |
| y | Number | 0 | 纵坐标 |
| width | Number | 0 | 宽度 |
| height | Number | 0 | 高度 |
| visible | Boolean | true | 是否可见 |
| touchEnabled | Boolean | false | 是否开启响应事件 |
| alpha | Number/undefined | undefined | 透明度 |
| scaleX | Number | 1 | 横向放大倍数 |
| scaleY | Number | 1 | 纵向放大倍数 |
| rotation | Number | 0 | 旋转角度 |
| skewX | Number | 0 | 横向斜切角度 |
| skewY | Number | 0 | 纵向斜切角度 |
| anchorX | Number | 0 | 横向中心点 |
| anchorY | Number | 0 | 纵向中心点 |
| numChildren | Number | 0 | 返回当前容器子集的个数 |
| cursor | String | pointer | 鼠标滑过时显示的鼠标样式,仅PC下有效 |
| method | parameter | 描述 | return |
| addChild | Object: childObject -> 子集对象 Number: index -> 子集的添加位置 |
向容器添加子集 | EC.DisplayObjectContainer |
| removeChild | Object: childObject -> 子集对象 | 容器中移除一个子集 | EC.DisplayObjectContainer |
| removeAllChildren | -- | 清除子集 | EC.DisplayObjectContainer |
| getChilds | -- | 获取当前容器所有子集对象 | EC.DisplayObjectContainer |
| getBounds | -- | 获取当前容器的边界 | new Bounds() |
| getChildIndex | Object: childObject -> 获取子集的索引值 | 获取当前容器的边界 | EC.DisplayObjectContainer |
| setChildIndex | Object: childObject -> 设置子集的索引值 Number: index -> 索引值 |
获取当前容器的边界 | EC.DisplayObjectContainer |
| setParams | Object: params -> 参数集 | 设置当前容器的相关属性 | EC.DisplayObjectContainer |
| size | -- | 获取容器子集的个数 | Number |
| name | 描述 |
| addToStage | 当前容器添加到舞台时执行的回调 |
| remove | 在被从父容器中移除时执行的回调 |
| enterframe | 舞台实时渲染时执行的回调 |
| properties | 类型 | 默认 | 描述 |
| x | Number | -- | 返回边界的x坐标 |
| y | Number | -- | 返回边界的y坐标 |
| width | Number | -- | 返回边界的宽度 |
| height | Number | -- | 返回边界的高度 |
| methods | parameter | 描述 | return |
| intersects | Object: target -> 被检测的目标对象 | 检测两个组件是否有交叉 | Boolean |
| properties | 类型 | 默认 | 描述 |
| mask | EC.Shape | undefined | 添加遮罩 |
| properties | 类型 | 默认 | 描述 |
| text | String | "" | 显示的文本 |
| size | Number | 16 | 字号 |
| textAlign | String | start | 文本水平对齐方式 |
| textBaseline | String | top | 文本垂直对齐方式 |
| fontFamily | String | Arial | 字体 |
| textColor | String | #000 | 文本颜色 |
| strokeColor | String | #000 | 字本描边颜色 |
| textStyle | String | normal | 文本样式 |
| textWeight | String | normal | 字体加粗 |
| lineSpacing | Number | 2 | 行间距 |
| numLines | Number | 1 | 行数 |
| stroke | Boolean | false | 是否描边 |
| strokeOnly | Boolean | false | 是否只描边 |
| multiple | Boolean | false | 是否开启文本自动换行 |
| properties | 类型 | 默认 | 描述 |
| sx | Number/undefined | undefined | 图片裁切的x起始位置 |
| sy | Number/undefined | undefined | 图片裁切的y起始位置 |
| swidth | Number/undefined | undefined | 图片裁切的宽度 |
| sheight | Number/undefined | undefined | 图片裁切的高度 |
| texture | Img DOMObject | undefined | BitMap的纹理 |
| methods | parameter | 描述 | return |
| setTexture | Object/IMG DOMObject: dataObject -> 纹理参数 | 设置纹理 | EC.BitMap |
| properties | 类型 | 默认 | 描述 |
| radius | Number | 0 | 形状的半径或圆角大小 |
| fillStyle | String | #000 | 填充样式 |
| strokeStyle | String | #000 | 描边样式 |
| shadowColor | String | #000 | 阴影颜色 |
| shadowBlur | String | 0 | 阴影的模糊级别 |
| shadowOffsetX | String | 0 | 阴影距形状的水平距离 |
| shadowOffsetY | String | 0 | 阴影距形状的垂直距离 |
| lineCap | String | "" | 线条的结束端点样式 |
| lineJoin | String | "" | 两条线相交时,所创建的拐角类型 |
| lineWidth | String | 0 | 当前的线条宽度 |
| miterLimit | String | "" | 最大斜接长度 |
| dashLength | Number | 0 | 虚线的长度(较老的浏览器可能不支持) |
| dashGap | Number | 0 | 虚线之间的间隙(较老的浏览器可能不支持) |
| methods | parameter | 描述 | return |
| fill |
String/Number: color -> 填充颜色 Number: alpha -> 填充透明度 |
设置填充颜色及透明度 | EC.Shape |
| stroke |
String/Number: color -> 描边颜色 Number: alpha -> 描边透明度 |
设置描边颜色及透明度 | EC.Shape |
| rect | x: x坐标 y: y坐标 width: 宽度 height: 高度 |
画矩形 | EC.Shape |
| arc | x: x坐标 y: y坐标 radius: 半径 startAngle: 起始弧度 endAngle: 结束弧度 counterclockwise: 方向 |
画圆 | EC.Shape |
| arcTo | startX: 起始x坐标 startY: 起始y坐标 endX: 结束x坐标 endY: 结束y坐标 radius: 圆角大小 |
画圆角折线 | EC.Shape |
| roundRect | x: x坐标 y: y坐标 width: 宽度 height: 高度 radius: 圆角大小 |
画圆角矩形 | EC.Shape |
| moveTo | x: x坐标 y: y坐标 |
将笔触移动至指定位置 | EC.Shape |
| lineTo | Array<x, y> | 从笔触位置到该指定位置画线条 | EC.Shape |
| line | x: x起始位置 y: y起始位置 endX: x结束位置 endY: y结束位置 |
画实线 | EC.Shape |
| dashedLine | x: x起始位置 y: y起始位置 endX: x结束位置 endY: y结束位置 dashLength: 虚线间隔长度 |
画虚线 | EC.Shape |
| ellipse | x: x起始位置 y: y起始位置 width: 宽度 height: 高度 |
画椭圆 | EC.Shape |
| clip | -- | 裁切 | EC.Shape |
| quadraticCurveTo | cpx: 贝塞尔控制点的 x 坐标 cpy: 贝塞尔控制点的 y 坐标 x: 结束点的 x 坐标 y: 结束点的 y 坐标 |
创建二次贝塞尔曲线 | EC.Shape |
| quadraticCurveTo | cp1x: 第一个贝塞尔控制点的 x 坐标 cp1y: 第一个贝塞尔控制点的 y 坐标 cp2x: 第二个贝塞尔控制点的 x 坐标 cp2y: 第二个贝塞尔控制点的 y 坐标 x: 结束点的 x 坐标 y: 结束点的 y 坐标 |
创建三次方贝塞尔曲线 | EC.Shape |
| close | -- | 闭合路径 | EC.Shape |
| properties | 类型 | 默认 | 描述 |
| width | Number | 400 | 输入框的宽度 |
| height | Number | 64 | 输入框的高度 |
| backgroundColor | String | "" | 输入框的背景颜色 |
| backgroundImage | String | "" | 输入框的背景图片 |
| backgroundRepeat | String | repeat | 背景图片的填充方式,或选值有: repeat, no-repeat, repeat-x, repeat-y |
| backgroundAlpha | Number | 1 | 背景颜色透明度 |
| borderColor | String | #000 | 边框颜色 |
| borderAlpha | Number | 1 | 边框颜色透明度 |
| borderRadius | Number | 0 | 输入框圆角大小 |
| borderWidth | Number | 2 | 边框粗细 |
| fontSize | Number | 28 | 文本字号 |
| fontFamily | String | 继承自TextField默认字体 | 输入框文本字体 |
| lineHeight | Number | 16 | 输入框文本行高 |
| lineSpacing | Number | 2 | 输入框文本行间距 |
| color | String | #000 | 文本颜色 |
| padding | Number/Array<Number,Number,Number,Number,> | 3 | 输入框内填充 |
| placeholder | String | "" | 输入框提示 |
| placeholderColor | String | #999 | 输入框提示文本颜色 |
| inputType | String | text | 输入框类型 |
| name | 描述 |
| focus | 当输入框聚集时执行的回调 |
| change | 当输入框的值发生变化时执行的回调 |
| blur | 当输入框失去聚集时执行的回调 |
| input | 实时监控输入框值的变化 |
| properties | 类型 | 默认 | 描述 |
| text | String | "" | 显示的文本 |
| font | String/Object | "" | 字体配置文件 |
| textAlign | String | left | 文本水平对齐方式 |
| letterSpacing | Number | 0 | 文本间隔 |
| methods | parameter | 描述 | return |
| setButton | String/Object: status -> 按钮状态 | 设置按钮状态 normal, hover, active, disabled四选其一 具体详见 [Button demo](https://semdy.github.io/easyrender/dist/Button.html) |
EC.Button |
| properties | 类型 | 默认 | 描述 |
| x | Number | 0 | x值 |
| y | Number | 0 | y值 |
| methods | parameter | 描述 | return |
| set |
Number: x -> x值 Number: y -> y值 |
设置x,y的值 | EC.Point |
| method | parameter | 描述 | return |
| constructor | Object/String: resUrl -> MovieClip图片资源 Object/String: resConfig -> MovieClip配置参数 |
精灵图动画 | MovieClip |
| gotoAndPlay | Number: startFrame -> 动画播放的起始帧 Number: playTimes -> 动画播放次数,当为-1时表示重复循环播放 Nubmer: frameRate -> 动画帧速,默认为24 |
开始播放动画 | MovieClip |
| gotoAndStop | Number: endFrame -> 停止动画并停留在指定帧 | 停止动画 | MovieClip |
| prevFrame | -- | 回退一帧 | MovieClip |
| nextFrame | -- | 前进一帧 | MovieClip |
| play | -- | 开始动画 | MovieClip |
| stop | -- | 开始动画 | MovieClip |
| pause | Number: time -> 动画暂停时间,然后继续动画,不设定则不会继续 | 暂停动画 | MovieClip |
| wait | Number: time -> 动画结束后,延迟指定时间执行complete事件 | 动画结束指定延迟执行complete事件 | MovieClip |
| setFrameRate | Number: frameRate -> 设置帧速 | 暂停动画 | MovieClip |
| name | 描述 |
| complete | 当动画停止时执行的回调 |
| loopcomplete | 当动画播放完一轮时执行的回调 |
| pause | 当动画暂停时执行的回调 |
| properties | 类型 | 默认 | 描述 |
| canvas | DOMObject | canvas object | canvas节点对象 |
| renderContext | Object | CanvasRenderingContext2D | canvas 2d对象 |
| compositeOperation | String | source-over | 新图像的绘制方式 |
| width | Number | options.width(只读) | 画布宽度 |
| height | Number | options.height(只读) | 画布高度 |
| scaleRatio | Number | 1(只读) | 画布缩放比率 |
| properties | 类型 | 默认 | 描述 |
| showFps | Boolean | false | 是否开启性能监测 |
| scaleMode | String | showAll | 画布缩放方式,可选值有:showAll, noScale, fixedWidth |
| width | Number | window innerWidth | 画布宽度 |
| height | Number | window innerHeight | 画布高度 |
| methods | parameter | 描述 | return |
| addChild | Object: childObject -> 添加子集 | 向舞台添加一个子集 | EC.Stage |
| showFps | Object: {left, top, right, bottom} 性能监测表显示的位置 | 设置性能监测表显示的位置 | EC.Stage |
| stop | -- | 停止渲染 | EC.Stage |
| name | 描述 |
| touchstart | 手指或鼠标按下时执行的回调 |
| longtouch | 长按时执行的回调 |
| touchmove | 手指或鼠标移动时执行的回调 |
| touchend | 手指或鼠标抬起时执行的回调 |
| touch | 手指或鼠标按下并抬起时执行的回调 |
| touchenter | 手指或鼠标进入时执行的回调 |
| touchout | 手指或鼠标离开时执行的回调 |