o LOGI _MODEL_FORMULA_FORCE o LOGI _MODEL_FORMULA_FORCE_GP o LOGI _MODEL_FORCE_3D_PRO o LOGI _MODEL_EXTREME_3D_PRO o LOGI _MODEL_FREEDOM_24 o LOGI _MODEL_ATTACK_3 o LOGI _MODEL_FORCE_3D
o LOGI _MODEL_STRIKE_FORCE_3D o LOGI _MODEL_RUMBLEPAD o LOGI _MODEL_RUMBLEPAD_2
o LOGI _MODEL_CORDLESS_RUMBLEPAD_2 o LOGI _MODEL_CORDLESS_GAMEPAD o LOGI _MODEL_DUAL_ACTION_GAMEPAD o LOGI _MODEL_PRECISION_GAMEPAD_2 o LOGI _MODEL_CHILLSTREAM 返回参数
如果指定型号的控制器已经连接,返回为true,否则返回false
LogiButtonTriggered(按键检测)
bool LogiButtonTriggered(const int index, const int buttonNbr);
该LogiButtonTriggered()函数检查设备连接的索引是否是当前的指定触发按钮 参数
索引:游戏控制器的索引。索引0对应连接的第一个游戏控制器。索引1对应第二个游戏控制器
buttonNbr : 我们想要检查的按钮的号数,可能的号数为:从0到127 返回参数
如果按钮已经触发返回为true,否则返回false
LogiButtonReleased(按键释放)
bool LogiButtonReleased(const int index, const int buttonNbr);
LogiButtonReleased ()函数检查连接在设备上的索引是否已经释放指定的按钮。 参数
索引:游戏控制器的索引。索引0对应连接的第一个游戏控制器。索引1对应第二个游戏控制器
buttonNbr : 我们想要检查的按钮的号数,可能的号数为:从0到127 返回参数
如果按钮已经触发返回为true,否则返回false
LogiButtonIsPressed
bool LogiButtonIsPressed(const int index, const int buttonNbr);
LogiButtonIsPressed () 函数检查连接在设备上的索引是否是当前正在被按下的指定按
钮。 参数
索引:游戏控制器的索引。索引0对应连接的第一个游戏控制器。索引1对应第二个游戏控制器
buttonNbr : 我们想要检查的按钮的号数,可能的号数为:从0到127 返回参数
如果按钮已经触发返回为true,否则返回false
LogiGenerateNonLinearValues(LOGI生成非线性值)
bool LogiGenerateNonLinearValues(const int index, const int nonLinCoeff);
这个LogiGenerateNonLinearValues () 函数为游戏控制器轴生成非线性参数。游戏轮/摇杆/游戏手柄和真正的方向盘具有非常不同的行为。采用单匝车轮的理由是它们仅需要做到四分之三转锁来锁定的,真正的汽车采用3转。
这直接影响到转向比(15:1到20:1对于真正的汽车来说,但对于游戏轮只有4:1).操纵杆和游戏手柄比真正的方向盘拥有更短的移动范围。因为这很小的转向传动比或短距离的移动范围,游戏轮/游戏杆/游戏垫会高度敏感,这可能使游戏操作非常困难。尤其是在以一个特定速度(倾向于前进或后退的速度)行驶在直线路段的时候,可能更加难。解决这种问题的一种方法就是使用一个灵敏度曲线。这是一条依靠速度来定义的游戏控制器灵敏度的曲线,这种类型的曲线通常用于游戏手柄,以弥补其很低的物理动作范围。运用这种曲线的作用是当汽车以高速行驶时汽车的轮胎转动的幅度会比汽车移动速度很慢时的幅度小。例如汽车的车轮可能转动60度来锁定,在较低的速度的时候,但只要10度锁来锁定,在更高的速度的时候。如果你计算10度锁定时的转向比,你会发现,如果你通过转180度来锁定一个方向盘,锁定比率等于180/10=18,这相当于一辆真正汽车的转向比。如果灵敏度曲线已经车轮/操纵杆中使用,再加入非线性曲线可能不必要的。但你可能发现即使应用敏感度曲线后,车子在一条直线上行驶的很快的时候,还是感觉有点颠簸。这可能是因为在你的游戏中,你需要10度以上的锁去锁住,即使在高速度时。或者,汽车是以非常高的速度在行驶,以至于以一个普通的转向比也不能消除这么高的灵敏度,在这一点上的最好方法是添加一个非线性曲线在灵敏度曲线的顶部。有着正nonlincoeff的非线性曲线的作用是围绕在中心位置的车轮或游戏杆将会变得不是那么敏感。然而,在锁定向左或向右位置时汽车的车轮会转过和没有非线性曲线时相同的量,因此,汽车在一条直线上行驶时变得更加容易控制,并且游戏操作将会得到提高。
也有这样的情况出现,车轮的感觉灵敏度不够,在这种情况下可能要增加一条具有逆效应的非线性曲线(使围绕在中心位置的转向更加敏感)通过使用负值nonLinCoeff来改善,这种方法让你定义一个非线性系数,这个系数决定这条曲线的作用的强弱,当运行这种方法时,将会以阵列的形式产生一个映射表,对于这个阵列中的每1024个元素,会有其可以用作车轮/操纵杆的轴线位置上的相应的非线性值,而不是原始的值。 参数
索引:游戏控制器的索引。索引0对应连接的第一个游戏控制器。索引1对应第二个游戏控制器
nonLinCoeff:采用的非线性程度的一个值,范围从-100到100,0表示是线性曲线,100表示最大的非线性曲线及中心位置具有低的敏感度,-100表示最大的非线性曲线且中心位置具有高的敏感度。 返回参数
成功则返回true,否则返回false
LogiGetNonLinearValue(获得非线性值)
int LogiGetNonLinearValue(const int index, const int inputValue);
LogiGetNonLinearValue () 函数返回值从一个先前产生的非线性值组成的表格中的数,这个数可以看成是方向盘的响应。
参数
索引:游戏控制器的索引。索引0对应连接的第一个游戏控制器。索引1对应第二个游戏控制器。
inputValue:值的范围是-32768到32767,对应轴的原始值。 返回参数
值的范围是-32768到32767之间,对应先前用GenerateNonLinearValues()函数设定的非线性水平值
LogiHasForceFeedback(是否含有力反馈) bool LogiHasForceFeedback(const int index);
这个The LogiHasForceFeedback () 函数检查索引控制器是否有力反馈。 参数
索引:游戏控制器的索引。索引0对应连接的第一个游戏控制器。索引1对应第二个游戏控制器。 返回参数
如果设备能进行力反馈则返回true,否则返回false。
LogiIsPlaying(力反馈是否发挥作用)
bool LogiIsPlaying(const int index, const int forceType);
这个 LogiIsPlaying () 函数检查是否有某个力正在发挥作用。 参数
索引:游戏控制器的索引。索引0对应连接的第一个游戏控制器。索引1对应第二个游戏控制器。 力的类型:
o - LOGI_FORCE_SPRING o - LOGI_FORCE_CONSTANT o - LOGI_FORCE_DAMPER
o - LOGI_FORCE_SIDE_COLLISION
o - LOGI_FORCE_FRONTAL_COLLISION o - LOGI_FORCE_DIRT_ROAD o - LOGI_FORCE_BUMPY_ROAD o - LOGI_FORCE_SLIPPERY_ROAD o - LOGI_FORCE_SURFACE_EFFECT o - LOGI_FORCE_CAR_AIRBORNE 返回参数
如果力正在发生作用则返回true,否则返回false
LogiPlaySpringForce(力作用)
bool LogiPlaySpringForce(const int index, const int offsetPercentage, const int saturationPercentage, const int coefficientPercentage);
这个LogiPlaySpringForce () 函数作用是表示弹簧力开始 参数
索引:游戏控制器的索引。索引0对应连接的第一个游戏控制器。索引1对应第二个游戏控制器。
Offset Percentage:指定的弹簧力作用的中心,有效范围为-100至100。指定0为弹簧的中心位置。超出此范围的任何值弹簧将静止不动。
saturationPercentage:指定弹力效果饱和的水平。经过中心位置一定的偏差后,饱和水平保持不变,这相当于一个幅度。有效范围为0到100,任何值高于100的值弹簧将静止不动。 coefficientPercentage - 表示效果强度增加的斜率和中心位置处的条件有关。值越高意味着,到达饱和水平越快。有效范围为-100到100,任何值超出有效范围弹簧将静止不动。 返回参数
成功返回true,否则返回false 注意
动态的弹簧力将在X轴上发挥作用,如果游戏杆已经被连接,则所有由方向盘SDK产生的力都作用X轴上,另外会有一个恒定的弹簧在Y轴上。
LogiStopSpringForce
bool LogiStopSpringForce(const int index);
这个 LogiStopSpringForce ()函数停止弹簧力 参数
索引:游戏控制器的索引。索引0对应连接的第一个游戏控制器。索引1对应第二个游戏控制器。 返回参数
成功返回true,否则返回false
LogiPlayConstantForce
bool LogiPlayConstantForce(const int index, const int magnitudePercentage);
这个LogiPlayConstantForce()函数产生恒力 参数
索引:游戏控制器的索引。索引0对应连接的第一个游戏控制器。索引1对应第二个游戏控制器。
magnitudePercentage:指定的恒力作用的大小。负值表示力作用的方向相反。有效范围为是-100到100,任何超出有效范围的值都将不产生作用。 返回参数
成功返回true,否则返回false 注意
如果采用物理引擎的值来不断更新恒力的值,此时效果最好,将方向盘和游戏杆通过一个矢量力来和汽车引擎绑定在一起,这会产生一个弹簧的效果,一个滑动的效果,产生汽车惯性的感觉,依赖物理引擎,它也应该产生侧面的碰撞效果(汽车的一个面撞到墙壁后,轮或操纵杆应在相反的方向颤动),这个矢量力可以根据前轮胎测量的横向力来计算。这个矢量力应该为0,当停止或是行驶在直线的时候。当转弯或是通过倾斜的表面时,这个矢量力应该以成比例的方式增加。
LogiStopConstantForce(终止恒力作用)
bool LogiStopConstantForce(const int index);
这个LogiStopConstantForce () 函数停止恒力 参数
索引:游戏控制器的索引。索引0对应连接的第一个游戏控制器。索引1对应第二个游戏控制器。 返回参数
成功返回true,否则返回false
LogiPlayDamperForce
bool LogiPlayDamperForce(const int index, const int coefficientPercentage);
这个 LogiPlayDamperForce () 函数产生阻尼力 参数
索引:游戏控制器的索引。索引0对应连接的第一个游戏控制器。索引1对应第二个游戏控制器。
coefficientPercentage :表示效果强度增加的斜率和中心位置处的条件有关。值越高意味着,到达饱和水平越快。有效范围为-100到100,任何值超出有效范围弹簧将静止不动。-100模拟一个很平滑的效果,100使得轮子和操纵杆很难移动,模拟车子停止或是陷在泥潭里。 返回参数
成功返回true,否则返回false 注意
模拟那些很难开的路面(在泥里,车停止),或是湿滑路面(雪,或是冰面)
LogiStopDamperForce(停止作用力)
bool LogiStopDamperForce(const int index);
这个LogiStopDamperForce () 停止阻尼力 参数
索引:游戏控制器的索引。索引0对应连接的第一个游戏控制器。索引1对应第二个游戏控制器。 返回参数
成功返回true,否则返回false
LogiPlaySideCollisionForce(侧向碰撞力)
bool LogiPlaySideCollisionForce(const int index, const int magnitudePercentage);
这个LogiPlaySideCollisionForce () 函数启动索引控制器的侧面碰撞力 参数
索引:游戏控制器的索引。索引0对应连接的第一个游戏控制器。索引1对应第二个游戏控制器。
magnitudePercentage :指定的侧面碰撞力作用的大小。负值表示力的方向相反。有效范围为是-100到100,任何超出有效范围的值弹簧都将不起作用 返回参数
成功返回true,否则返回false 注意
如果你已经采用了由物理引擎绑定的矢量力来作为恒力,则不需要再额外采用侧面碰撞力,因为由于物理引擎,侧面碰撞力会自动地被恒力影响到。
LogiPlayFrontalCollisionForce(正向碰撞力)
bool LogiPlayFrontalCollisionForce(const int index, const int magnitudePercentage);
这个LogiPlayFrontalCollisionForce () 启动在索引控制器正面的碰撞力 参数
索引:游戏控制器的索引。索引0对应连接的第一个游戏控制器。索引1对应第二个游戏控制器。
magnitudePercentage:指定的正面碰撞力作用的大小。有效范围从0到100,高于100的值将不会产生作用。