unity 实现手机振动_unity 调用android的震动

本文介绍了在Unity中实现手机振动的两种方法,重点讲解如何通过导入自定义的jar包来控制震动频率。首先提到Unity自带的Handheld.Vibrate()函数简单但无法精细控制。然后详细阐述了自定义jar包的步骤,包括需要配置javac环境、安装SDK,并解决可能出现的问题。在Android Studio中编写了震动函数,并在Unity中进行调用示例。
摘要由CSDN通过智能技术生成

在unity中调用震动一般有两种方式:

1.使用unity自带的 Handheld.Vibrate();

优点:方便、简单

缺点:无法控制震动的频率

2.自己导入jar包到unity中

优点:便于后期的调节震动的频率

缺点:如果是初步接触android studio可能比较麻烦

这次就不说Handheld.Vibrate(),直接调用就ok了。

如果想要自己打包jar导入的unity,你需要配置好javac环境,安装sdk,

且可以打出正常的jar包。这里为什么说是正常的包? 因为在很多时候,可能打出来的jar包导入unity后无法打出apk。比如说:无法实例化android的activity、无法找到xml文件、无法找到29.0.0打包工具、BuildConfig.class文件重复等奇葩问题。

android studio代码

这里的mpattern数组 mpattern[0] 是延迟震动时间,mpattern[1]是震动的频率,mpattern[2]是暂停时间,mpattern[3]是震动的频率 依此类推

index:震动的类型

index = -1 只震动一次

index = 0 一直震动

public void StartVibrator(long [] mpattern,int index) {

//获取Vibrator实例

Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

vibrator.vibrate(pattern,

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity调用iOS的震动功能需要通过Xcode来实现。以下是具体步骤: 1. 在Unity中创建一个C#脚本,并在其中添加以下代码: ``` using UnityEngine; using System.Runtime.InteropServices; public class Vibration : MonoBehaviour { #if UNITY_IOS && !UNITY_EDITOR [DllImport("__Internal")] private static extern void _Vibrate(); #endif public void Vibrate() { #if UNITY_IOS && !UNITY_EDITOR _Vibrate(); #endif } } ``` 2. 在Xcode中创建一个Objective-C的文件,将其命名为“VibrationPlugin”并添加以下代码: ``` #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface VibrationPlugin : NSObject + (void)vibrate; @end @implementation VibrationPlugin + (void)vibrate { AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); } @end ``` 3. 在Unity中,将刚才创建的C#脚本挂载到一个对象上,并在该对象上添加一个调用震动的方法,例如: ``` public void OnButtonClick() { Vibration vibration = new Vibration(); vibration.Vibrate(); } ``` 4. 在Xcode中,将VibrationPlugin.h和VibrationPlugin.m文件添加到Unity项目的Plugins文件夹中。然后在Unity-iPhone项目中选择“Build Phases”,展开“Link Binary With Libraries”并添加“AudioToolbox.framework”。 5. 最后,在Xcode中选择“Build Settings”,搜索“Other Linker Flags”并添加“-ObjC”。 现在,你可以在Unity调用OnButtonClick方法来触发手机震动了。需要注意的是,这种方法仅适用于iOS平台。如果你需要在Android平台上实现震动,你需要使用Android的API来实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值