首先新建一个工程(已建好的跳过),然后用eclipse打开AndroID工程,具体方法不再赘述。 用eclipse打开libcocos2dx根目录下的\src\org.cocos2dx.lib\Cocos2dxHelper.java 文件 @H_404_1@
在Cocos2dxHelper类中添加静态方法
public static voID vibrate(int vibrateTime) { Vibrator vib = (Vibrator)sActivity.getSystemService(Service.VIBRATOR_SERVICE); vib.vibrate(vibrateTime); } public static voID cancelVibrate() { Vibrator vib = (Vibrator) sActivity.getSystemService(Service.VIBRATOR_SERVICE); vib.cancel(); } // 引入相应的包,即可保存文件。
自此Java文件的修改已经完成,接下来就可以在游戏代码中通过特定函数来调用震动方法了。 为了方便调用可以写一个类@H_404_1@Vibrator.h
#ifndef VIBRATOR_H#define VIBRATOR_H#include "cocos2d.h" USING_NS_CC; #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) #include <jni.h> #include <androID/log.h> #include "platform/androID/jni/JniHelper.h" #define CLASS_name "org/cocos2dx/lib/Cocos2dxHelper" #endif class Vibrator { public: static voID vibrate(int time); static voID cancelVibrate(); }; voID Vibrator::vibrate(int time) { #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) JniMethodInfo t; if (JniHelper::getStaticmethodInfo(t,CLASS_name,"vibrate","(I)V")) { t.env->CallStaticVoIDMethod(t.classID,t.methodID,time); t.env->DeleteLocalRef(t.classID); } #endif } voID Vibrator::cancelVibrate() { #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) JniMethodInfo t; if (JniHelper::getStaticmethodInfo(t,"cancelVibrate","()V")) { t.env->CallStaticVoIDMethod(t.classID,t.methodID); t.env->DeleteLocalRef(t.classID); } #endif }#endif@H_404_1@之后,就可以通过
Vibrator::vibrate(5000);来实现震动了。 @H_404_1@最后,千万别忘了添加震动权限,在项目目录中\proj.androID\AndroIDManifest.xml 添加
<uses-permission androID:name="androID.permission.VIBRATE"/>
@H_404_1@即可。 总结 以上是内存溢出为你收集整理的cocos2dx 玩转震动全部内容,希望文章能够帮你解决cocos2dx 玩转震动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)