Class: Scene

Scene

new JC.Scene()

舞台对象,继承至 Container

Extends

Members

alphaNumber

控制渲染对象的透明度

boundsJC.Bounds

显示对象的包围盒

childsArray

渲染对象的列表

cursorBoolean

当渲染对象是按钮时所具备的光标样式

interactiveboolean

Enable interaction events for the DisplayObject. Touch, pointer and mouse
events will not be emitted unless interactive is set to true.

对象的遮罩层

originXNumber

控制渲染对象的x变换中心

originYNumber

控制渲染对象的y变换中心

passEventBoolean

当前对象是否穿透自身的事件检测

pausedBoolean

是否暂停自身的动画

pivotXNumber

控制渲染对象的相对本身x轴位置的进一步偏移,将会影响旋转中心点

pivotYNumber

控制渲染对象的相对本身y轴位置的进一步偏移,将会影响旋转中心点

rotationNumber

控制渲染对象的旋转角度

scaleNumber

对渲染对象进行x、y轴同时缩放

scaleXNumber

控制渲染对象的x轴的缩放

scaleYNumber

控制渲染对象的y轴的缩放

skewXNumber

控制渲染对象的x轴的斜切

skewYNumber

控制渲染对象的y轴的斜切

souldSortBoolean

强制该对象在渲染子集之前为他们排序

timeScaleNumber

自身及后代动画的缩放比例

visibleBoolean

控制渲染对象是否显示

xNumber

控制渲染对象的x位置

yNumber

控制渲染对象的y位置

zIndexNumber

当前对象的z-index层级,z-index的值只会影响该对象在其所在的渲染列表内产生影响

Methods

向容器添加一个物体

container.adds(sprite,sprite2,text3,graphice);
Name Type Description
object JC.Container
Returns:
Type Description
JC.Container

animate动画,指定动画的启始位置和结束位置

display.animate({
  from: {x: 100},
  to: {x: 200},
  ease: JC.Tween.Bounce.Out, // 执行动画使用的缓动函数 默认值为 JC.Tween.Ease.InOut
  repeats: 10, // 动画运动完后再重复10次
  infinite: true, // 无限循环动画
  alternate: true, // 偶数次的时候动画回放
  duration: 1000, // 动画时长 ms单位 默认 300ms
  onUpdate: function(state,rate){},
  onComplete: function(){ console.log('end'); } // 动画执行结束回调
});
Name Type Description
options Object

动画配置参数

Name Type Description
from Object optional

设置对象的起始位置和起始姿态等,该项配置可选

to Object

设置对象的结束位置和结束姿态等

ease String optional

执行动画使用的缓动函数 默认值为 JC.Tween.Ease.InOut

repeats Number optional

设置动画执行完成后再重复多少次,优先级没有infinite高

infinite Boolean optional

设置动画无限次执行,优先级高于repeats

alternate Boolean optional

设置动画是否偶数次回返

duration Number optional

设置动画执行时间 默认 300ms

wait Number optional

设置动画延迟时间,在重复动画不会生效 默认 0ms

delay Number optional

设置动画延迟时间,在重复动画也会生效 默认 0ms

onUpdate function optional

设置动画更新时的回调函数

onComplete function optional

设置动画结束时的回调函数,如果infinite为true该事件将不会触发

clear Boolean

是否去掉之前的动画

Returns:
Type Description
JC.Animate

inherited contains(global){Boolean}

检测坐标点是否在多变性内

Name Type Description
global JC.Point
Returns:
Type Description
Boolean 是否包含该点

事件对象的触发事件函数

Name Type Description
type String

事件类型

ev JC.InteractionData

事件数据

inherited getGlobalPos(){Object}

获取物体相对于canvas世界坐标系的坐标位置

Returns:
Type Description
Object

inherited isVisible(){Boolean}

检查对象是否可见

Returns:
Type Description
Boolean 对象是否可见

inherited keyFrames(options, clear){JC.Animate}

keyFrames动画,设置物体动画的keyframe,可以为相邻的两个keyFrames之前配置差值时间及时间函数

display.keyFrames({
  ks: data.layers[0], // ae导出的动画数据
  fr: 30, // 动画的帧率,默认:30fps
  repeats: 10, // 动画运动完后再重复10次
  infinite: true, // 无限循环动画
  alternate: true, // 偶数次的时候动画回放
  onUpdate: function(state,rate){},
  onComplete: function(){ console.log('end'); } // 动画执行结束回调
});
Name Type Description
options Object

动画配置参数

Name Type Description
ks Object

配置关键帧的位置、姿态,ae导出的动画数据

fr Number optional

配置关键帧的位置、姿态,ae导出的动画数据

repeats Number optional

设置动画执行完成后再重复多少次,优先级没有infinite高

infinite Boolean optional

设置动画无限次执行,优先级高于repeats

alternate Boolean optional

设置动画是否偶数次回返

wait Number optional

设置动画延迟时间,在重复动画不会生效 默认 0ms

delay Number optional

设置动画延迟时间,在重复动画也会生效 默认 0ms

onUpdate function optional

设置动画更新时的回调函数

onComplete function optional

设置动画结束时的回调函数,如果infinite为true该事件将不会触发

clear Boolean

是否去掉之前的动画

Returns:
Type Description
JC.Animate

motion动画,让物体按照设定好的曲线运动

display.motion({
  path: new JC.SvgCurve('M10 10 H 90 V 90 H 10 L 10 10), // path路径,需要继承自Curve
  attachTangent: true, // 物体是否捕获切线方向
  ease: JC.Tween.Ease.bezier(0.25,0.1,0.25,1), // 执行动画使用的缓动函数 默认值为 JC.Tween.Ease.InOut
  repeats: 10, // 动画运动完后再重复10次
  infinite: true, // 无限循环动画
  alternate: true, // 偶数次的时候动画回放
  duration: 1000, // 动画时长 ms单位 默认 300ms
  onUpdate: function(state,rate){}, // 动画更新回调
  onComplete: function(){ console.log('end'); } // 动画执行结束回调
});
Name Type Description
options Object

动画配置参数

Name Type Description
path Curve

path路径,需要继承自Curve,可以传入BezierCurve实例、NURBSCurve实例、SvgCurve实例

attachTangent Boolean optional

物体是否捕获切线方向

ease String optional

执行动画使用的缓动函数 默认值为 JC.Tween.Ease.InOut

repeats Number optional

设置动画执行完成后再重复多少次,优先级没有infinite高

infinite Boolean optional

设置动画无限次执行,优先级高于repeats

alternate Boolean optional

设置动画是否偶数次回返

duration Number optional

设置动画执行时间 默认 300ms

wait Number optional

设置动画延迟时间,在重复动画不会生效 默认 0ms

delay Number optional

设置动画延迟时间,在重复动画也会生效 默认 0ms

onUpdate function optional

设置动画更新时的回调函数

onComplete function optional

设置动画结束时的回调函数,如果infinite为true该事件将不会触发

clear Boolean

是否去掉之前的动画

Returns:
Type Description
JC.Animate

inherited off(type, fn){this}

事件对象的事件解绑函数

Name Type Description
type String

事件类型

fn function

注册时回调函数的引用

Returns:
Type Description
this

inherited on(type, fn){this}

事件对象的事件绑定函数

Name Type Description
type String

事件类型

fn function

回调函数

Returns:
Type Description
this

inherited once(type, fn){this}

事件对象的一次性事件绑定函数

Name Type Description
type String

事件类型

fn function

回调函数

Returns:
Type Description
this

暂停自身和子级的所有动画进度

inherited queues(runner, options, clear){JC.Queues}

以链式调用的方式触发一串动画 (不支持alternate

display.queues({ from: { x: 1 }, to: { x: 2 } })
  .then({ path: JC.BezierCurve([ point1, point2, point3, point4 ]) })
  .then({ from: { x: 2 }, to: { x: 1 } })
  .then({ from: { scale: 1 }, to: { scale: 0 } })
  .on('complete', function() {
    console.log('end queues');
  });
Name Type Default Description
runner Object optional

添加动画,可以是 animate 或者 motion 动画配置

options Object {} optional

整个动画的循环等配置

Name Type Default Description
repeats Object 0 optional

设置动画执行完成后再重复多少次,优先级没有infinite高

infinite Object false optional

设置动画无限次执行,优先级高于repeats

wait Number optional

设置动画延迟时间,在重复动画不会生效 默认 0ms

delay Number optional

设置动画延迟时间,在重复动画也会生效 默认 0ms

clear Boolean false optional

是否去掉之前的动画

Returns:
Type Description
JC.Queues

从容器移除一个物体

container.remove(sprite,sprite2,text3,graphice);
Name Type Description
object JC.Container

移除对象上的遮罩

恢复自身和子级的所有动画进度

不推荐使用,建议使用queues方法达到同样效果
runners动画,多个复合动画的组合形式,不支持alternate

display.runners({
  runners: [
    { from: {}, to: {} },
    { path: JC.BezierCurve([ point1, point2, point3, point4 ]) },
  ], // 组合动画,支持组合 animate、motion
  delay: 1000, // ae导出的动画数据
  wait: 100, // ae导出的动画数据
  repeats: 10, // 动画运动完后再重复10次
  infinite: true, // 无限循环动画
  onUpdate: function(state,rate){},
  onComplete: function(){ console.log('end'); } // 动画执行结束回调
});
Name Type Description
options Object

动画配置参数

Name Type Default Description
runners Object

组合动画,支持 animate、motion 这些的自定义组合

repeats Number 0 optional

设置动画执行完成后再重复多少次,优先级没有infinite高

infinite Boolean false optional

设置动画无限次执行,优先级高于repeats

wait Number 0 optional

设置动画延迟时间,在重复动画不会生效 默认 0ms

delay Number 0 optional

设置动画延迟时间,在重复动画也会生效 默认 0ms

onUpdate function optional

设置动画更新时的回调函数

onComplete function optional

设置动画结束时的回调函数,如果infinite为true该事件将不会触发

clear Boolean

是否去掉之前的动画

Returns:
Type Description
JC.Animate

inherited setArea(shape, clock)

设置显示对象的事件检测区域

Name Type Description
shape JC.Polygon | JC.Rectangle

JC内置形状类型的实例

clock Boolean

是否锁住当前设置的监测区域不会被内部更新修改。

inherited setBounds(bounds)

设置渲染物体的包围盒

Name Type Description
bounds JC.Bounds

设置自身及子级的动画速度

Name Type Description
speed Number

设置的速率值

inherited updateMovin(progress, session)

更新bodymovin动画

Name Type Description
progress number

progress

session object