IOS 震动的写法

#import <Foundation/Foundation.h>
@interface JSC : NSObject
+ (void) ddd1;
+ (void) ddd2;
+ (void) ddd3;
+ (void) ddd4;
+ (void) ddd5;
@end
#include "JSC.h"
#import <AudioToolbox/AudioToolbox.h>
@implementation JSC
+(void)ddd1 {
    AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);
}
+(void) ddd2{
    // 普通短震,3D Touch 中 Peek 震动反馈
    AudioServicesPlayAlertSound(1519);
}
+(void) ddd3 {
    // 普通短震,3D Touch 中 Pop 震动反馈
    AudioServicesPlayAlertSound(1520);
}
+(void) ddd4 {
    // 连续三次短震
    AudioServicesPlayAlertSound(1521);
}
+(void) ddd5 {
    // 这个声音是是类似于QQ声音的
    AudioServicesPlaySystemSound(1007);
}
//void ddd6() {
////    UIImpactFeedbackGenerator * impactLight = [[UIImpactFeedbackGeneratoralloc]initWithStyle:UIImpactFeedbackStyleLight];
////    [impactLight impactOccurred];
//}
@end

在 Android 中震动的写法

实现手机震动其实很简单,手机震动使用是Vibrator类,然后震动也是需要权限的,在使用之前在AndroidManifest.xml文件中添加

<uses-permission android:name="android.permission.VIBRATE"/>
// 声明一个震动器对象
public static Vibrator vibrator;
public static void ddd1() {
    vibrator.vibrate(1000);
}
public static void ddd2() {
    long[] patter = {1000, 10000, 1000, 10000};
    vibrator.vibrate(patter, -1);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (!isTaskRoot()) {
        return;
    }
    SDKWrapper.getInstance().init(this);
    CAAgent.enableDebug(false);
    // 想设置震动大小可以通过改变pattern来设定,如果开启时间太短,震动效果可能感觉不到
    AppActivity.vibrator = (Vibrator) this.getSystemService(this.VIBRATOR_SERVICE);
}

在 TypeScript 中 分贝调用 JAVA 和 IOS 的静态方法

onBtn1TouchEnd() {
    if(cc.sys.os === cc.sys.OS_IOS) {
        jsb.reflection.callStaticMethod("JSC", "ddd1");
    } else {
        jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AdsBridge", "ddd1", "()V");
    }
}
onBtn2TouchEnd() {
    if(cc.sys.os === cc.sys.OS_IOS) {
        jsb.reflection.callStaticMethod("JSC", "ddd2");
    } else {
        jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AdsBridge", "ddd2", "()V");
    }
}
onBtn3TouchEnd() {
    jsb.reflection.callStaticMethod("JSC", "ddd3");
}
onBtn4TouchEnd() {
    jsb.reflection.callStaticMethod("JSC", "ddd4");
}
onBtn5TouchEnd() {
    jsb.reflection.callStaticMethod("JSC", "ddd5");
}

关注【游戏讲坛】微信公众号,获取最新动态!