mirror of
https://github.com/smallmain/cocos-enhance-kit.git
synced 2025-10-09 12:45:23 +00:00
[engine] [cocos2d-x] [jsb-adapter] 适配引擎 v2.4.12 版本
This commit is contained in:
@@ -42,11 +42,12 @@ public class Cocos2dxAccelerometer implements SensorEventListener {
|
||||
// Fields
|
||||
// ===========================================================
|
||||
private final Context mContext;
|
||||
private final SensorManager mSensorManager;
|
||||
private final Sensor mAcceleration;
|
||||
private final Sensor mAccelerationIncludingGravity;
|
||||
private final Sensor mGyroscope;
|
||||
private SensorManager mSensorManager;
|
||||
private Sensor mAcceleration;
|
||||
private Sensor mAccelerationIncludingGravity;
|
||||
private Sensor mGyroscope;
|
||||
private int mSamplingPeriodUs = SensorManager.SENSOR_DELAY_GAME;
|
||||
private boolean mEnableSensor = false;
|
||||
|
||||
class Acceleration {
|
||||
public float x = 0.0f;
|
||||
@@ -74,24 +75,39 @@ public class Cocos2dxAccelerometer implements SensorEventListener {
|
||||
|
||||
public Cocos2dxAccelerometer(final Context context) {
|
||||
mContext = context;
|
||||
|
||||
mSensorManager = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE);
|
||||
mAcceleration = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
|
||||
mAccelerationIncludingGravity = mSensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION);
|
||||
mGyroscope = mSensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
|
||||
}
|
||||
|
||||
// ===========================================================
|
||||
// Getter & Setter
|
||||
// ===========================================================
|
||||
public void enable() {
|
||||
mSensorManager.registerListener(this, mAcceleration, mSamplingPeriodUs);
|
||||
mSensorManager.registerListener(this, mAccelerationIncludingGravity, mSamplingPeriodUs);
|
||||
mSensorManager.registerListener(this, mGyroscope, mSamplingPeriodUs);
|
||||
if (mEnableSensor) {
|
||||
if (null == mSensorManager) {
|
||||
mSensorManager = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE);
|
||||
mAcceleration = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
|
||||
mAccelerationIncludingGravity = mSensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION);
|
||||
mGyroscope = mSensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);
|
||||
}
|
||||
|
||||
mSensorManager.registerListener(this, mAcceleration, mSamplingPeriodUs);
|
||||
mSensorManager.registerListener(this, mAccelerationIncludingGravity, mSamplingPeriodUs);
|
||||
mSensorManager.registerListener(this, mGyroscope, mSamplingPeriodUs);
|
||||
}
|
||||
}
|
||||
|
||||
public void enableAccelerometer(boolean enabled) {
|
||||
mEnableSensor = enabled;
|
||||
if (enabled) {
|
||||
enable();
|
||||
} else {
|
||||
disable();
|
||||
}
|
||||
}
|
||||
|
||||
public void disable() {
|
||||
this.mSensorManager.unregisterListener(this);
|
||||
if (mEnableSensor && null != mSensorManager) {
|
||||
this.mSensorManager.unregisterListener(this);
|
||||
}
|
||||
}
|
||||
|
||||
public void setInterval(float interval) {
|
||||
|
@@ -28,6 +28,7 @@ package org.cocos2dx.lib;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.Color;
|
||||
@@ -296,7 +297,9 @@ public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelpe
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
mCocos2dxOrientationHelper = new Cocos2dxOrientationHelper(this);
|
||||
if (getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_SENSOR) {
|
||||
mCocos2dxOrientationHelper = new Cocos2dxOrientationHelper(this);
|
||||
}
|
||||
}
|
||||
|
||||
public void setKeepScreenOn(boolean value) {
|
||||
@@ -390,7 +393,9 @@ public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelpe
|
||||
Cocos2dxAudioFocusManager.registerAudioFocusListener(this);
|
||||
Utils.hideVirtualButton();
|
||||
resumeIfHasFocus();
|
||||
mCocos2dxOrientationHelper.onResume();
|
||||
if (null != mCocos2dxOrientationHelper) {
|
||||
mCocos2dxOrientationHelper.onResume();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -419,7 +424,9 @@ public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelpe
|
||||
Cocos2dxAudioFocusManager.unregisterAudioFocusListener(this);
|
||||
Cocos2dxHelper.onPause();
|
||||
mGLSurfaceView.onPause();
|
||||
mCocos2dxOrientationHelper.onPause();
|
||||
if (null != mCocos2dxOrientationHelper) {
|
||||
mCocos2dxOrientationHelper.onPause();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -82,7 +82,6 @@ public class Cocos2dxHelper {
|
||||
|
||||
private static AssetManager sAssetManager;
|
||||
private static Cocos2dxAccelerometer sCocos2dxAccelerometer;
|
||||
private static boolean sAccelerometerEnabled;
|
||||
private static boolean sCompassEnabled;
|
||||
private static boolean sActivityVisible;
|
||||
private static String sPackageName;
|
||||
@@ -314,9 +313,9 @@ public class Cocos2dxHelper {
|
||||
|
||||
public static String getCurrentLanguageCode() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
return LocaleList.getDefault().get(0).getLanguage();
|
||||
return LocaleList.getDefault().get(0).toString();
|
||||
} else {
|
||||
return Locale.getDefault().getLanguage();
|
||||
return Locale.getDefault().toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -329,8 +328,7 @@ public class Cocos2dxHelper {
|
||||
}
|
||||
|
||||
public static void enableAccelerometer() {
|
||||
Cocos2dxHelper.sAccelerometerEnabled = true;
|
||||
Cocos2dxHelper.sCocos2dxAccelerometer.enable();
|
||||
Cocos2dxHelper.sCocos2dxAccelerometer.enableAccelerometer(true);
|
||||
}
|
||||
|
||||
public static void setAccelerometerInterval(float interval) {
|
||||
@@ -338,8 +336,7 @@ public class Cocos2dxHelper {
|
||||
}
|
||||
|
||||
public static void disableAccelerometer() {
|
||||
Cocos2dxHelper.sAccelerometerEnabled = false;
|
||||
Cocos2dxHelper.sCocos2dxAccelerometer.disable();
|
||||
Cocos2dxHelper.sCocos2dxAccelerometer.enableAccelerometer(false);
|
||||
}
|
||||
|
||||
public static void setKeepScreenOn(boolean value) {
|
||||
@@ -437,16 +434,12 @@ public class Cocos2dxHelper {
|
||||
|
||||
public static void onResume() {
|
||||
sActivityVisible = true;
|
||||
if (Cocos2dxHelper.sAccelerometerEnabled) {
|
||||
Cocos2dxHelper.sCocos2dxAccelerometer.enable();
|
||||
}
|
||||
Cocos2dxHelper.sCocos2dxAccelerometer.enable();
|
||||
}
|
||||
|
||||
public static void onPause() {
|
||||
sActivityVisible = false;
|
||||
if (Cocos2dxHelper.sAccelerometerEnabled) {
|
||||
Cocos2dxHelper.sCocos2dxAccelerometer.disable();
|
||||
}
|
||||
Cocos2dxHelper.sCocos2dxAccelerometer.disable();
|
||||
}
|
||||
|
||||
public static void onEnterBackground() {
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.cocos2dx.lib">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
</manifest>
|
||||
|
@@ -3,7 +3,7 @@ apply plugin: 'com.android.library'
|
||||
android {
|
||||
compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger()
|
||||
buildToolsVersion PROP_BUILD_TOOLS_VERSION
|
||||
|
||||
namespace "org.cocos2dx.lib"
|
||||
defaultConfig {
|
||||
minSdkVersion PROP_MIN_SDK_VERSION
|
||||
targetSdkVersion PROP_TARGET_SDK_VERSION
|
||||
|
Reference in New Issue
Block a user