gpt4 book ai didi

android - SDL 中用于 Android NDK JNI 游戏的倾斜控制

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:45:56 27 4
gpt4 key购买 nike

我正在使用 android NDK 和 JNI 系统使用 SDL(简单 DirectMedia 层)开发 C++ 游戏。我已经完成了大部分部分,但我无法弄清楚如何实现倾斜控制(如神庙逃亡中的倾斜控制)。我在谷歌上搜索了很多但没有任何相关信息。请帮助我,我卡住了。

拉古文德拉·库马尔

最佳答案

它已经包含在SDL2的sample android project中。在 SDLActivity.java onSensorChanged 方法记录所有倾斜运动:

    public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
SDLActivity.onNativeAccel(event.values[0] / SensorManager.GRAVITY_EARTH,
event.values[1] / SensorManager.GRAVITY_EARTH,
event.values[2] / SensorManager.GRAVITY_EARTH);
}
}

然后可以通过在 sdl_android.c 中调用函数 Android_JNI_GetAccelerometerValues(float values[3]) 在您的 C++ 代码中读取这些值.

例如,您的代码可能如下所示:

   #include "../SDL/src/core/android/SDL_android.h"
float accelValues[3];
Android_JNI_GetAccelerometerValues(accelValues);

之后 accelValues 将包含可用于控制游戏的加速度计值。

关于android - SDL 中用于 Android NDK JNI 游戏的倾斜控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21918132/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com