基础知识:
一个Node可以添加多个组件(一个Node只能添加一个渲染组件)
简单例子1:让球不断上下移动
1.确定目标,想象动作需要什么属性
1.代码描述动作
var seq = cc.sequence(cc.moveBy(0.5, 200, 0), cc.moveBy(0.5, -200, 0));//执行动作的时候,先执行左动作,再执行右动作
var t = cc.repeatRorever(seq)//执行的时候会不断执行动作
2.执行动作
this.node.runAction(t);
简单例子2:场景切换
1.鼠标点击(开始游戏按钮),触发事件(加载新场景)
this.node.on('mousedown',function(){
cc.director.loadScene('Scene1');
})
2.倒计时,每秒执行一次函数.在属性里定义label,再将label拖进去
this.schedule(function(){
timeIn--;
this.TimeLlabel.string=timeIn;
if()
},1)
简单例子3:飞机移动
setInputControl
:
function(){
var
self =
this;
var
listener= {
event:cc.
EventListener.
KEYBOARD,
onKeyPressed
:
function(
keyCode,
event){
switch(
keyCode){
case
cc.
KEY.
a:
self.
accLeft=
true;
break;
case
cc.
KEY.
d:
self.
accRight=
true;
break;
case
cc.
KEY.
w:
self.
accUp=
true;
break;
case
cc.
KEY.
s:
self.
accDown=
true;
break;
}
},
onKeyReleased
:
function(
keyCode,
event){
switch(
keyCode){
case
cc.
KEY.
a:
self.
accLeft=
false;
break;
case
cc.
KEY.
d:
self.
accRight=
false;
break;
case
cc.
KEY.
w:
self.
accUp=
false;
break;
case
cc.
KEY.
s:
self.
accDown=
false;
break;
}
}
}
cc.
eventManager.
addListener(
listener,
self.
node)
},
// LIFE-CYCLE CALLBACKS:
// onLoad () {},
start () {
this.
accLeft =
false;
this.
accRight =
false;
this.
accUp =
false;
this.
accDoen =
false;
this.
setInputControl();
},
update (
dt) {
if(
this.
accLeft){
this.
plane.
x -=
this.
accl;
}
if(
this.
accRight){
this.
plane.
x +=
this.
accl;
}
if(
this.
accUp){
this.
plane.
y +=
this.
accl;
}
if(
this.
accDown){
this.
plane.
y -=
this.
accl;
}
},
});
简单例子4:下落
1.复制预制资源 var t=cc.instantiate(预制资源)