好的,直截了当,我正在使用带有Lua脚本的SDL和openGL在C ++中开发游戏引擎,我需要获取模拟摇杆的角度来确定使用此lua代码的2D枪的方向
playerLookArrow.rotation = math.atan(logic:controllerAxisForce(3)/-logic:controllerAxisForce(4))
逻辑:controllerAxisForce(int AXIS)返回
SDL_JoystickGetAxis(Joystick, AXIS);
问题是我的枪只会指向左侧,而不是左侧和右侧。
最佳答案
您应该使用math.atan2为您执行以下逻辑(http://www.lua.org/manual/5.1/manual.html#pdf-math.atan2):
playerLookArrow.rotation = math.atan2(
logic:controllerAxisForce(3),
-logic:controllerAxisForce(4))
请注意,返回值以弧度为单位(180度= Pi rad),Pi为3.141592,notre 3.1 :)
关于c++ - Xbox360模拟杆角SDL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22392840/