本文主要是介绍微信小游戏自定义震动时间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
做微信小游戏开发也有段时间了,小游戏非常注重手感,精美的界面,顺滑的操作,有时微微一震,会给玩家带来不一样的感觉。
这里就要说到微信小游戏中的震动API接口了,微信官方提供的震动接口有两个:
wx.vibrateShort(Object object)
使手机发生较短时间的振动(15 ms)。仅在 iPhone 7 / 7 Plus
以上及 Android 机型生效
wx.vibrateLong(Object object)
使手机发生较长时间的振动(400 ms)
只有两个!而我在开发时,发现vibrateShort这个接口基本没感觉,或说基本没作用,开发社区里也是一堆这样的问题,腾讯官方永远只有一句:提供下代码片段.....,我有一句xxxx不知当讲不当讲。
long有400ms,这个震动有点强,突然来一下,可能会吓到用户,我想要震动50ms,不好意思,暂不支持!只好另想办法。
有一个折中方案:50ms=15ms+15ms+15ms,也就是三次短震动,用一个定时器去连续震动三次就差不多达到效果了!
引擎:Laya
编辑器:LayaAir IDE
语言:TS
代码:
/**
* 震动时间
* @param time 毫秒数
*/
function vibrate(time: number) {
let count = time / 15;
let index = 0;
let obj = { count: count, index: index };
Laya.timer.loop(16, obj, function () {
wx.vibrateShort();
index++;
if (index > count) {
Laya.timer.clearAll(obj);
}
});
}
JS代码:
/**
* 震动时间
* @param time 毫秒数
*/
function vibrate(time){
let count=time/15;
let index=0;
let interval=setInterval(function(){
wx.vibrateShort();
index++;
if(index>count){
clearTimeout(interval);
interval=null;
}
},15);
嗯,效果还不错!顺便解决了vibrateShort不灵的问题!
实际效果:
这篇关于微信小游戏自定义震动时间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!