vibrateAndJitterInterval = null;
function startVibrate(duration) {
if (!cc.sys.isNative) {
navigator.vibrate(duration*1000);
return
}
//android ios 调用jsb
if (cc.sys.os === cc.sys.OS_ANDROID) {
} else if (cc.sys.os === cc.sys.OS_IOS) {
}
};
function stopVibrate() {
if (!cc.sys.isNative) {
if(vibrateAndJitterInterval) clearInterval(vibrateAndJitterInterval);
navigator.vibrate(0);
return
}
//android ios 调用jsb
if (cc.sys.os === cc.sys.OS_ANDROID) {
} else if (cc.sys.os === cc.sys.OS_IOS) {
}
};
function delayStopVibrateJitter(duration) {
if (!cc.sys.isNative) {
var supportsVibrate = "vibrate" in navigator;
if(supportsVibrate){
startVibrate(duration);
startSceneJitter();
vibrateAndJitterInterval = setInterval(()=>{
stopVibrate();
stopSceneJitter();
}, duration*1000);
}
return
}
//android ios 调用jsb
if (cc.sys.os === cc.sys.OS_ANDROID) {
} else if (cc.sys.os === cc.sys.OS_IOS) {
}
};
function stopSceneJitter(){
let node = scenePersistNode;//场景常驻节点
node.stopAllActions();
let sceneNode = cc.director.getScene();
sceneNode.x = 0;
sceneNode.y = 0;
};
function startSceneJitter(){
let sceneNode = cc.director.getScene();
let min = -20;
let max = 20;
let callBack = function(){
let randomX = Math.randomInt(min,max);
let randomY = Math.randomInt(min,max);
sceneNode.x = randomX;
sceneNode.y = randomY;
}
let node = scenePersistNode;//场景常驻节点
let del = cc.delayTime(1/30);
let cal = cc.callFunc(callBack);
let seq = cc.sequence(del, cal);
node.runAction(cc.repeatForever(seq));
};