制作优势
- 一次开发连通多端
- 牌桌布局一目了然使用各种复杂需求
- UI开发效率极高
- 客户端用JS编码可无缝使用各种服务器传输的数据结构
上下跳动脚本
cc.Class({
extends: cc.Component,
properties: {
jumpDuration:3, //跳动时间间隔
jumpHeight:200//跳动最大高度
},
jumpAction:function(){
//向上跳动
var jumpUp = cc.moveBy(this.jumpDuration, cc.p(0, this.jumpHeight)).easing(cc.easeCubicActionOut());
//向下跳动
var jumpDown = cc.moveBy(this.jumpDuration, cc.p(0,-this.jumpHeight)).easing(cc.easeCubicActionIn());
//循环跳动
return cc.repeatForever(cc.sequence(jumpUp, jumpDown));
},
onLoad: function () {
this.jumpAction = this.jumpAction();
this.node.runAction(this.jumpAction);
}
});
场景切换
知识点
场景(scence)是ccc中必不可少的元素,游戏中需要构建不同场景,例如关卡、板块的切换等。
Director
导演类是整个CCC的核心,类似游戏的导航仪。常用的操作都是由导演类来控制的,如初始化、场景切换、暂停继续等。
常用方法
-
cc.director.loadScene('sceneName')
加载场景 -
cc.director.preloadScene('sceneName')
预加载场景,场景切换中,预加载下一次场景的资源 -
this.node.on(action, callback)
绑定事件
案例:场景切换
场景
资源
脚本1:Welcome场景中“开始游戏”脚本
# play.js
cc.Class({
extends: cc.Component,
properties: {
},
onLoad: function () {
this.node.on('mousedown',function(){
cc.director.loadScene('Main');
});
}
});
脚本2:Main主场景中倒计数脚本
# timer.js
cc.Class({
extends: cc.Component,
properties: {
timer:{
default:null,
type:cc.Label
}
},
onLoad: function () {
var seconds = 5;
this.schedule(function(){
seconds--;
this.timer.string = seconds.toString();
if(seconds === 0){
cc.director.loadScene('Gameover');
}
},1);
}
});
事件监听
知识
-
cc.eventManager.addListener(listener, nodeOrPrority)
将事件监听器添加到事件管理器中 -
cc.EventListener.KEYBOARD
键盘输入事件 -
cc.EventListener.MOUSE
鼠标事件 -
cc.EventListener.TOUCH_ONE_BY_ONE
单点触摸事件 -
cc.EventListener.TOUCH_ALL_AT_ONCE
多点触控事件
案例
使用键盘控制飞机的飞行
飞机素材
游戏分析