collie.min.js的api文档
时间: 2023-11-02 20:07:13 浏览: 39
Collie是一款基于Canvas的HTML5动画引擎,提供了以下API:
## 基础类
### collie.DisplayObject
所有显示对象的基础类。包含位置、大小、旋转等基本属性和方法。
#### 属性
* `x`:横坐标
* `y`:纵坐标
* `width`:宽度
* `height`:高度
* `scaleX`:横向缩放比例
* `scaleY`:纵向缩放比例
* `rotation`:旋转角度
* `alpha`:透明度
* `visible`:是否可见
* `parent`:父容器
#### 方法
* `render(ctx)`:渲染方法,将显示对象渲染在画布上
* `hitTest(x, y)`:碰撞检测方法,判断坐标点是否在显示对象内
* `getBounds()`:获取显示对象的包围盒
* `getAbsoluteX()`:获取显示对象在画布上的绝对横坐标
* `getAbsoluteY()`:获取显示对象在画布上的绝对纵坐标
* `getAbsoluteMatrix()`:获取显示对象在画布上的绝对变换矩阵
### collie.Container
容器类,可以包含其他显示对象。
#### 属性
* `children`:子对象列表
#### 方法
* `addChild(child)`:添加一个子对象
* `removeChild(child)`:移除一个子对象
* `removeAllChildren()`:移除所有子对象
* `getChildAt(index)`:获取指定索引的子对象
* `getChildByName(name)`:获取指定名称的子对象
### collie.Stage
舞台类,是顶层容器,也是渲染的入口。
#### 属性
* `width`:宽度
* `height`:高度
* `fps`:帧率
* `backgroundColor`:背景色
#### 方法
* `start()`:开始渲染
* `stop()`:停止渲染
## 图形类
### collie.Shape
基础图形类,包含矩形、圆形、多边形等基本图形。
#### 属性
* `fillColor`:填充颜色
* `strokeColor`:边框颜色
* `strokeWidth`:边框宽度
#### 方法
* `draw(ctx)`:绘制方法,绘制图形路径
* `setPolygonPoint(points)`:设置多边形的顶点
### collie.Circle
圆形类,继承自Shape。
#### 属性
* `radius`:半径
### collie.Rect
矩形类,继承自Shape。
### collie.Polygon
多边形类,继承自Shape。
#### 方法
* `setPolygonPoint(points)`:设置多边形的顶点
## 动画类
### collie.Animation
基础动画类,支持渐变、缩放、旋转、移动等动画。
#### 属性
* `duration`:动画时长
* `delay`:动画延迟时间
* `repeat`:动画重复次数
* `easing`:动画缓动函数
* `callback`:动画完成后的回调函数
#### 方法
* `start()`:开始动画
* `stop()`:停止动画
### collie.Tween
缓动动画类,继承自Animation,支持多种缓动函数。
#### 方法
* `to(properties)`:设置动画目标值
* `from(properties)`:设置动画起始值
* `set(properties)`:设置动画属性值
* `wait(duration)`:设置动画等待时间
* `then(tween)`:设置动画完成后执行的下一个动画
* `onUpdate(callback)`:设置动画更新时的回调函数
* `onComplete(callback)`:设置动画完成时的回调函数
### collie.Timer
基于requestAnimationFrame的定时器类,可以设置帧率和回调函数。
#### 属性
* `fps`:帧率
* `callback`:回调函数
#### 方法
* `start()`:开始定时器
* `stop()`:停止定时器
## 输入类
### collie.InputManager
输入管理器类,处理鼠标和触摸事件。
#### 属性
* `element`:事件绑定的元素
#### 方法
* `bind(element)`:绑定元素
* `unbind()`:解绑元素
* `attach(obj)`:绑定事件到对象上
* `detach(obj)`:解绑事件
* `getOffset(e)`:获取事件坐标相对于画布的偏移量
### collie.TouchEvent
触摸事件类,封装了原生的触摸事件。
#### 属性
* `type`:事件类型
* `touches`:所有触摸点的信息
* `changedTouches`:发生变化的触摸点的信息
* `preventDefault`:阻止默认事件
## 工具类
### collie.util
工具类,提供了一些常用的工具方法。
#### 方法
* `extend(target, source)`:将一个对象的属性拷贝到另一个对象上
* `getImage(src, callback)`:加载图片
* `getSound(src, callback)`:加载声音
* `getElapsedTime()`:获取自引擎启动后的累计时间
* `getFPS()`:获取实时帧率
* `getVectorDegree(x1, y1, x2, y2)`:获取两点之间的夹角
* `getDistance(x1, y1, x2, y2)`:获取两点之间的距离