cocos creator基础总结

1.场景加载

cc.director.loadScene('场景名称');//场景跳转
cc.director.preloadScene('场景名称');//预加载场景
cc.director.getScene();//获取当前场景

2.获取节点

var a = this.node;//获取当前脚本所在的节点
var a = this.node.parent;//获取父节点
var a = this.node.getChildByTag(1001);//通过标签获取子节点
var node = cc.find("Canvas/bg");//通过访问路径来获取节点
var a = this.node.getChildByName('name');//通过名字获取子节点
var a = this.node.children;//获取所有子节点
var a = this.node.childrenCount;//获取子节点数量
var a = cc.director.getScene();//获取场景主节点
var a = cc.instantiate(node);//克隆节点
this.node.parent = cc.find('Canvas');//绑定父节点
this.node.addChild(nodeName,zIndex,tag);//添加子节点,可设置层级和标签
this.node.destroy();//销毁节点
this.node.isValid;//判定节点是否可用
this.node.removeChild(newNode);//移除节点中指定的子节点
this.node.removeChildByTag(1001);//通过标签移除节点中指定的子节点
this.node.removeAllChildren();//移除所有子节点
this.node.destroyAllChildren();//销毁所有子节点
this.node.cleanup();//停止所有正在播放的动作和计时器
var sprites = this.node.getComponentsInChildren(cc.Label);//递归查找自身及所有子节点中指定类型的组件

3.获取节点位置,设置节点

node.setContentSize(100, 100); //设置节点宽高尺寸大小
this.cannons = [];
this.cannons = node.getChildren(); //获取所有子节点
this.cannons = node.getChildrenCount(); //获取子节点数量
node.active = false; //关闭节点(隐藏节点)
cc.game.addPersistRootNode(myNode); //常驻节点(全局变量)
cc.game.removePersistRootNode(myNode); //取消常驻节点

4.计时器

//只用1次的计时器,2秒后执行
        this.scheduleOnce(function(){
            //一条或多条执行语句  
        },2); //(function(){},时间(s))

//每隔5秒执行1次
        this.schedule(function(){
            //一条或多条执行语句  
        },5);

//计算多次的计时器(1秒后,以0.1秒的执行间隔,执行10次)
        this.schedule(function(){
            //一条或多条执行语句
        },0.1,10,1); //(function(){},间隔时间,次数,多久后开始)
this.unscheduleAllCallbacks(this);//停止某组件的所有计时器

//自定义定时器执行内容(相比常规使用的定时器优势是:方便随时开启或关闭)
var cb= function(){
    //do something
};
this.schedule(cb,1);//启动定时器
this.unschedule(cb);//取消定时器

5.事件监听

cc.eventManager.addListener({
            event: cc.EventListener.KEYBOARD/TOUCH_ONE_BY_ONE,myfunction
},self.node);

6.定义全局变量

window.DEFAULT_IP = "192.168.1.1";//任意脚本里可定义全局变量
//任意脚本里可定义全局变量
window.G = {
    a: null,
    b: null,
};
//任意脚本里可访问全局变量(切记定义全局变量的那个脚本已执行过)
G.a = 0;
G.b = 0;
var something = require(‘something’);
cc.game.addPersistRootNode(myNode);//常驻节点,必须位于层级的根节点(也可算全局节点吧)
module.exports = {
         config: 123
}

7.分辨率

//获得设备分辨率
var b = cc.director.getWinSizeInPixels()
var bx = b.width
var by = b.height

cc.view.getCanvasSize().width;//获得设备分辨率的宽度
cc.view.getCanvasSize().height;//获得设备分辨率的高度
cc.director.setDisplayStats(true);//显示帧数信息

8.音频控制

cc.audioEngine.playMusic(this.BGAudio,true);//播放音乐(true代表循环)
cc.audioEngine.stopMusic()//停止播放背景音乐
cc.audioEngine.playEffect(this.ClickAudio,false);//播放音效(false代表只播放一次)
cc.audioEngine.stopEffect(音效变量名);//停止指定音效(需要先把音效赋值给变量)
cc.audioEngine.AllEffects();//停止所有音效
cc.audioEngine.setMusicVolume(参数);  //设置背景音乐的音量(该参数范围是0到1)
cc.audioEngine.setEffectsVolume(参数);  //设置音效的音量(该参数范围是0到1)

9.存档操作

cc.sys.localStorage.setItem('存储标识名',变量名);//存储存档数据
var a = cc.sys.localStorage.getItem('存储标识名');//读取存档数据
cc.sys.localStorage.removeItem('存储标识名');//擦除存档数据
userData = {
    name: 'Tracer',
    level: 1,
    gold: 100
};
cc.sys.localStorage.setItem('userData', JSON.stringify(userData));//存取复杂对象数据
var userData = JSON.parse(cc.sys.localStorage.getItem('userData'));//读取复杂对象数据

10.判断平台

cc.sys.isNative  //是否是本地
cc.sys.isBrowser  //是否是网页
cc.sys.isMobile  //是否是移动系统
cc.sys.platform  //正在运行的平台
cc.sys.language  //当前运行系统的语言
cc.sys.os  //当前正在运行的系统
cc.sys.OS_IOS  //是否是IOS系统
cc.sys.OS_ANDROID  //是否是android系统
cc.sys.OS_WINDOWS  //是否是windows系统
cc.sys.openURL('Http://www.baidu.com');  //打开网页

11.监听和发射事件

this.node.pauseSystemEvents(true);//暂停节点系统事件
this.node.resumeSystemEvents(true);//恢复节点系统事件
this.node.targetOff(this);//移除所有注册事件
用户自定义事件:
this.node.on('事件名',function,this);//注册监听
this.node.emit('事件名');//发送监听广播
this.node.off('事件名',function,this);//关闭监听

//注册带参数监听
this.node.on('事件名',function(event){
        “具体方法函数内容”
},this);
//发送带参数的监听
this.node.emit('事件名',{id:1001});
cc.eventManager.addListener(listener, node);//添加事件
cc.eventManager.removeListener((listener);//移除事件

12.其他操作

cc.director.pause();//暂停
cc.director.resume();//继续
cc.director.end();//退出整个应用
cc.log(变量)  或 console.log(something);//输出想要的信息
let self = this;//锁定当前使用的this指向
node.getLocalZOrder();//层级获取
node.setLocalZOrder(1);//层级改变
cc.find('canvas/map' + num)//读取带变量的路径
cc.sys.openURL('Http://www.baidu.com');//打开网页
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值