1 | 需求: 将HTML5的内容保存为图片 |
触摸事件类型和事件对象
触摸事件在移动平台和桌面平台都会触发,这样做的目的是为了更好得服务开发者在桌面平台调试,只需要监听触摸事件即可同时响应移动平台的触摸事件和桌面端的鼠标事件。系统提供的触摸事件类型如下:
基础动作类型
Action:所有动作类型的基类。
FiniteTimeAction:有限时间动作,这种动作拥有时长 duration 属性。
ActionInstant:即时动作,这种动作立即就会执行,继承自 FiniteTimeAction。
ActionInterval:时间间隔动作,这种动作在已定时间内完成,继承自 FiniteTimeAction。
ActionEase:所有缓动动作基类,用于修饰 ActionInterval。
EaseRateAction:拥有速率属性的缓动动作基类。
EaseElastic:弹性缓动动作基类。
EaseBounce:反弹缓动动作基类。
cocoster 使用过程知识点
1.重复执行某个动画,需要重新调用repeatForever()方法;不能直接在action后面以链式的方式添加repeatForever()
ex: var seq = aciton;
var repeat = seq.repeatForever();
2.如果需要使用cc.loader.loadRes()动态加载资源考虑的资源url兼容问题 ,亲测creater1.9版本,将需要动态加载的资源放在assets/resources下面。如果一份资源不需要由脚本直接动态加载,那么千万不要放在 resources 文件夹里。
3.手动设置Node节点的层级别node.setSiblingIndex();
4.cocosCreater在使用过程中,同一个变量都会有缓存,而且很厉害。为了避免这样可以将变量名改动一下。
5.关于Animation1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25var animation = this.node.getComponent(cc.Animation);
// 注册
animation.on('play', this.onPlay, this);
// 取消注册
animation.off('play', this.onPlay, this);
// 对单个 cc.AnimationState 注册回调
var anim1 = animation.getAnimationState('anim1');
anim1.on('lastframe', this.onLastFrame, this);
// 动态创建 Animation Clip:
var animation = this.node.getComponent(cc.Animation);
// frames 这是一个 SpriteFrame 的数组.
var clip = cc.AnimationClip.createWithSpriteFrames(frames, 17);
clip.name = "anim_run";
clip.warpMode = cc.WarpMode.Loop;
// 添加帧事件
clip.events.push({
frame: 1, // 准确的时间,以秒为单位。这里表示将在动画播放到 1s 时触发事件
func: "frameEvent", // 回调函数名称
params: [1, "hello"] // 回调参数
});
animation.addClip(clip);
animation.play('anim_run');
1 | input[type=radio] { |
1 | .circle1 { |