Cocos2d-x移植android加入震动效果

cpp部分通过jni调用java静态函数

头文件:

#include <jni.h>
#include "cocos2d.h"
#include "platform/android/jni/JniHelper.h"

在cpp类中定义方法去调用Cocos2dxSound.java中vibrate方法:

static void vibrateJNI(long longtime)
	{
		JniMethodInfo methodInfo;
		if(!JniHelper::getStaticMethodInfo(methodInfo, "org/cocos2dx/lib/Cocos2dxSound", "vibrate","(J)V"))
		{
			CCLOG("Error: vibrate is 不存在!");
			return;

		}
		methodInfo.env->CallStaticVoidMethod(methodInfo.classID,methodInfo.methodID,time);
		methodInfo.env->DeleteLocalRef(methodInfo.classID);
	}

在android工程src/org/cocos2dx/lib/Cocos2dxSound.java定义vibrate方法:

private static Context mContext2;

Cocos2dxSound()方法中加入

this.mContext2 = pContext;

定义vibrate方法

	public static void vibrate(long time)
	{
		Vibrator v = (Vibrator) mContext2.getSystemService(Context.VIBRATOR_SERVICE);
		v.vibrate(time);
	}

致此在cpp代码中需要震动处调用以下即可

JNIUtil::vibrateJNI(500);

Cocos2d-x移植android加入震动效果

时间: 2024-10-12 11:44:59

Cocos2d-x移植android加入震动效果的相关文章

Android Vibrator震动效果

android震动器:Vibrator Android手机中的震动由Vibrator实现. Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); vibrator.vibrate(time);//定义事件震动长短.time为时间,long型,毫秒,这里需要定义一个震动的时间长短 vibrator.vibrate(new long[]{100,100,100,100}, -1);//按照指定的模式去震动.这里的-1是指

Android摇一摇震动效果Demo

前言 在微信刚流行的时候,在摇一摇还能用来那啥的时候,我也曾深更半夜的拿着手机晃一晃.当时想的最多的就是,我靠,为神马摇一下需要用这么大的力度,当时我想可能腾讯觉得那是个人性的设计,后来才发觉尼马重力加速度设得太高了吧.扯多了,最近项目里需要解决一个震动的问题,因此在学习震动实现的过程中,写了个demo实现了摇一摇震动的效果,这里记录一下. 原理 摇一摇功能的基本原理就是:利用手机的加速度传感器,当加速度到达某个值时,触发某个事件,例如手机震动.UI改变等.这里要实现该功能,首先需要了解一下An

cocos2dx-3.0(21) 移植android平台 说多了都是泪

----我的生活,我的点点滴滴! ! 网上3.0的教程真心少.能够说没有吧,大多都是2.x 或者 3.0測试版之类的,因为我心大,没有照着2.x去搞,后来搞完后总结了一下,发觉事实上3.0的移植android平台非常easy了,也不须要照着2.x搞,以下记录一下一个"超级苦比的小煞笔"在全然不知道怎么搞的情况下横冲直创去移植android平台遇到的问题 1..首先你的环境要配好 先看以下的图片,图片里是你须要的东西 看图说话 1.1 ADT ADT(Android Developmen

送给刚刚开始学cocos2d-x引擎 移植Android的同学

刚刚开始学cocos2-x,仅仅是按照教程把已经安了一般Android的开发环境的eclipse重新升级到安装好cdt和ndk就花了我几十小时,差点都要放弃了. 参考博客 D:\cocos2d-x\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt 说说大概的过程: 下载ndk插件,ndk包,cdt插件.最开始我按照书上的下载了cocos2d-x 2.0.1,希望跟书上统一起来,这样以后学习的时候可以参考书上的也不会遇到太

Cocos2d-x移植Android 常见问题处理办法

1.函数.变量出现"could not be resolved "问题 出现此问题一般是没有找到cocos2d-x声明的头文件,在eclipse将cocos2d的头文件目录引入,包括工程目录.platform/android 在hellocpp/main.cpp函数加入头文件 #include "AppDelegate.h" #include "cocos2d.h" #include "CCEventType.h" #incl

Android 导航条效果实现(六) TabLayout+ViewPager+Fragment

TabLayout 一.继承结构 public class TabLayout extends HorizontalScrollView java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.FrameLayout ? android.widget.HorizontalScrollView ? android.support.design.widget.TabLayout 二.TabLayou

cocos2d-x 移植android横竖横屏设置

AndroidManifest.xml中android:screenOrientation字段控制屏幕方向,默认情况是横屏 android:screenOrientation="landscape" //横屏 android:screenOrientation="portrait"//坚屏 cocos2d-x 移植android横竖横屏设置,布布扣,bubuko.com

cocos2d-x3.2中添加Android手机震动

本人宣布从此博文发出后,我的cocos2dx的引擎从cocos2dx3.1.1跳到cocos2dx3.2,哈哈,其实变化不大的,不碍事~~~ 下面来说说在cocos中添加Android手机震动的功能,亲身体验,网上的教程都是渣渣啊,坑比的很,还要看了原帖http://www.cocos2d-x.org/boards/6/topics/8179,全英文的,蛋疼恼火了许久,才解决~~ 下面进入正题.相信看完本文,什么问题都ok了!!!! 1.在proj.android这个目录下 AndroidMan

cocos2d jsb 打包 Android APK

1.首先要会普通的cpp 打包成Android APK 以下所说的是在cocos2d-x 2.2.2 或者 2.3 版本中.本文在Eclipse总用ndk编译cocos2d-x. 老生常谈cocos2d-x JSB不是简单的js代码,涉及到C++代码,如果是Android的话又涉及到Java代码,有点复杂,如果搞过Android下的Jni的话会熟悉些.可以看下这篇文章:<Android Jni 例子 Hello JNI,ndk> Android为了提高开发者开发应用的速度,降低难度,选择了Ja