添加点击事件
1、properties里添加button节点
// 关闭按钮
closeButton: cc.Node,
//或者
closeButton:{
default:[],
type:cc.Node
},
2、onLoad()里添加点击事件
onLoad() {
// 给关闭按钮添加点击事件
this.closeButton.on('click', this.closePanel, this);
},
控制节点显示或隐藏
// 隐藏领取按钮
this.closeButton.active = false;//显示为true
设置数据JSON文件
// 签到数据JSON文件
checkInJsonData: cc.JsonAsset
引用其他js文件
const GameData = require('GameData');
cc.sys.localStorage存储读取用户数据
//存储
cc.sys.localStorage.setItem('obj',JSON.stringify(obj));
//读取
var obj =JSON.parse(cc.sys.localStorage.getItem('obj'));
//移除
cc.sys.localStorage.removeItem(obj)
播放音效资源
cc.resources.load("sound/" + engineType, cc.AudioClip, (err, clip) => {
if (err) {
cc.error(err);
return;
}
cc.audioEngine.play(clip, false, 0.5);//播放音频
});
cocoscreator 音频管理cc.audioEngine
播放音频
var id = cc.audioEngine.play(path, loop, volume );
//参数path代表音频路径,loop代表是否循环, volume代表音量范围0~1.0
停止播放音频
let backMusic= cc.audioEngine.play(clip, true, 0.5);
cc.audioEngine.stop(backMusic);
设置音频是否循环
cc.audioEngine.setLoop(id, loop); //id代表由play获得的id,loop代表是否循环
获取音频的循环状态
cc.audioEngine.isLoop(id); //id代表由play获得的id
设置音量(0.0 ~ 1.0)
cc.audioEngine.setVolume(id, volume); //id代表由play获得的id, volume代表音量范围0~1.0
获取音量(0.0 ~ 1.0)
var volume = cc.audioEngine.getVolume(id); //id代表由play获得的id
设置当前的音频时间
cc.audioEngine.setCurrentTime(id, time);
//id代表由play获得的id,time代表播放的当前位置(单位为秒)
获取当前的音频播放时间
var time = cc.audioEngine.getCurrentTime(id); //id代表由play获得的id
获取音频总时长
var time = cc.audioEngine.getDuration(id); //id代表由play获得的id
获取音频状态
var state = cc.audioEngine.getState(id); //id代表由play获得的id
设置一个音频结束后的回调
cc.audioEngine.setFinishCallback(id, function () {});
//id代表由play获得的id,第二个参数是自己的回调哦
暂停正在播放音频
cc.audioEngine.pause(id); //id代表由play获得的id
暂停现在正在播放的所有音频
cc.audioEngine.pauseAll();
恢复播放指定的音频
cc.audioEngine.resume(id); //id代表由play获得的id
打开自定义提示弹窗
cc.resources.load("prefab/Success", cc.Prefab, (err, prefab) => {
if (err) {
console.error(err);
return;
}
let node = cc.instantiate(prefab);
let title = "Check In Success";
if(multiple > 1) {
title = "Double " + title;
}
node.getComponent("Success").init();
this.node.parent.addChild(node);
});
cocos加载场景
//加载场景
cc.director.loadScene('Main')
有些场景的加载时间过长,会造成游戏的卡顿,这时我们可以使用预加载的方式,在时间充裕的时候加载场景数据,将这些数据缓存在内存中,这种方式本质上是一种"空间换时间"的方式。预加载的操作代码如下所示。
cc.director.preloadScene("Main", function(){
cc.log('next scene preloaded')
})