use both right stick axis for look offset
This commit is contained in:
@ -20,7 +20,7 @@ class Colin
|
||||
{
|
||||
private var pos = Vector2()
|
||||
private var angle = 0.0f
|
||||
private var yangle = 0.0f
|
||||
private var offsAngle = Vector2()
|
||||
private var cam: PerspectiveCamera
|
||||
private var nutted = false
|
||||
|
||||
@ -42,7 +42,7 @@ class Colin
|
||||
val forward = Vector3(0.0f, 0.0f, -1.0f)
|
||||
val up = Vector3(0.0f, 1.0f, 0.0f)
|
||||
val right = Vector3(1.0f, 0.0f, 0.0f)
|
||||
cam.direction.set(forward.rotateRad(right, yangle).rotateRad(up, angle))
|
||||
cam.direction.set(forward.rotateRad(right, offsAngle.y).rotateRad(up, offsAngle.x + angle))
|
||||
cam.update()
|
||||
}
|
||||
|
||||
@ -72,10 +72,13 @@ class Colin
|
||||
if (!stick.isZero)
|
||||
pos -= forward * stick.y * speed * deltaTime
|
||||
|
||||
yangle = Controllers.getCurrent()?.let { pad ->
|
||||
val dst = pad.getAxis(pad.mapping.axisRightY).axisDeadzone(0.1f, 0.9f)
|
||||
MathUtils.lerp(yangle, dst, 16.0f * deltaTime)
|
||||
} ?: 0.0f
|
||||
offsAngle = Controllers.getCurrent()?.let { pad ->
|
||||
val dst = Vector2(
|
||||
pad.getAxis(pad.mapping.axisRightX),
|
||||
pad.getAxis(pad.mapping.axisRightY))
|
||||
.radialDeadzone(0.1f, 1.0f) * MathUtils.PI * -0.25f
|
||||
offsAngle.lerp(dst, 16.0f * deltaTime)
|
||||
} ?: Vector2.Zero
|
||||
|
||||
if (Controllers.getCurrent()?.let { pad -> pad.getButton(pad.mapping.buttonA) } == true || Gdx.input.isKeyJustPressed(Input.Keys.N))
|
||||
{
|
||||
|
Reference in New Issue
Block a user