creator游戏开发基本语法

写的比较杂乱,类似随笔,随时可能往里面添加修改
给lable文本赋值:

this.ScoreNumber.getComponent(cc.Label).string = GAME_DATE.MMscore;
1
1
查找游戏组件或者脚本

this.MMGameAccount = this.GameAccount.getComponent('MMGameAccount');
1
1
播放音乐(不需要添加组件)

cc.audioEngine.playEffect(GAME_DATE.overAudio,false);
1
1
播放背景音乐(直接添加组件)

查找具体节点

var fangge = cc.find('Canvas/Game/GameView');
1
1
查找子节点的拥有组件名字为 MMShuiDi 的子节点集合

var fanggeArray = fangge.getComponentsInChildren("MMShuiDi");
1
1
定时器写法1

//定时器
this.schedule(function(){
//结束后执行内容
},1,0,0);
1
2
3
4
1
2
3
4
修改按钮的图片

this.node.getComponent(cc.Button).normalSprite = this.MMGameSprite;
cc.log("name= "+this.node.getComponent(cc.Button).normalSprite.name);
1
2
1
2
修改当前组名

this.node.group = "kongbai";
1
1
碰撞检测方法函数(可以利用组来进行筛选碰撞)

//碰撞检测
onCollisionEnter (other, self) {
if(other.node.group == 'shuidi') //检测碰撞组
{
//事件
}
},
1
2
3
4
5
6
7
1
2
3
4
5
6
7
设置组名和碰撞的关系


微信判断收藏路径进入游戏

var a = wx.getLaunchOptionsSync();
a.scene == 1104 //显示 礼包 就可以了
//1089 扫码
//1104 收藏
1
2
3
4
1
2
3
4
creator平台判断
{

"编辑器": CC_EDITOR,
"编辑器 或 预览": CC_DEV,
"编辑器 或 预览 或 构建调试": CC_DEBUG,
"网页预览": CC_PREVIEW && !CC_JSB,
"模拟器预览": CC_PREVIEW && CC_JSB,
"构建调试": CC_BUILD && CC_DEBUG,
"构建发行": CC_BUILD && !CC_DEBUG,
1
2
3
4
5
6
7
1
2
3
4
5
6
7
}
比如判断微信平台:

if(CC_WECHATGAME){
//向微信保存最高分数
var kvDateList = new Array();
kvDateList.push({
key: "score",
value: "0"
});
}
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
给节点设置显隐

this.Game.active = true;
this.Game.active = false;
1
2
1
2
注意:当父节点为false(隐藏状态)时,对子节点的操作无效
销毁节点

this.node.destroy();
1
1
生命周期注意:
先执行完所有的onload,再执行start方法
开启声音/关闭声音

this.MMAudio.getComponent(cc.AudioSource).play();//开启声音
this.MMAudio.getComponent(cc.AudioSource).stop();//关闭声音
1
2
1
2
对于切换精灵节点sprite的显示图片用

对于切换按钮节点的按钮显示图片

this.node.getComponent(cc.Button).normalSprite = this.SpriteFrame;
1
1
定义一个date格式的数据集合用

this.userData = {
name: 'Tracer',
level: 1,
gold: 100
};
1
2
3
4
5
1
2
3
4
5
游戏区域的尺寸

let size=cc.view.getVisibleSize();
cc.log("游戏区域宽度= ",size.width);
cc.log("游戏区域高度= ",size.height);
1
2
3
1
2
3
利用update移动节点

this.node.y-=this.MoveSpeed*dt;
1
1
随机值(例子,具体看api)

var length = GAME_DATE.MMGameSpriteArray.length;
this.numberButton =parseInt(Math.random()*length); //随机下标
--------------------- 

原文地址:https://www.cnblogs.com/hyhy904/p/10983031.html