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 pos = Vector2()
|
||||||
private var angle = 0.0f
|
private var angle = 0.0f
|
||||||
private var yangle = 0.0f
|
private var offsAngle = Vector2()
|
||||||
private var cam: PerspectiveCamera
|
private var cam: PerspectiveCamera
|
||||||
private var nutted = false
|
private var nutted = false
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ class Colin
|
|||||||
val forward = Vector3(0.0f, 0.0f, -1.0f)
|
val forward = Vector3(0.0f, 0.0f, -1.0f)
|
||||||
val up = Vector3(0.0f, 1.0f, 0.0f)
|
val up = Vector3(0.0f, 1.0f, 0.0f)
|
||||||
val right = Vector3(1.0f, 0.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()
|
cam.update()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,10 +72,13 @@ class Colin
|
|||||||
if (!stick.isZero)
|
if (!stick.isZero)
|
||||||
pos -= forward * stick.y * speed * deltaTime
|
pos -= forward * stick.y * speed * deltaTime
|
||||||
|
|
||||||
yangle = Controllers.getCurrent()?.let { pad ->
|
offsAngle = Controllers.getCurrent()?.let { pad ->
|
||||||
val dst = pad.getAxis(pad.mapping.axisRightY).axisDeadzone(0.1f, 0.9f)
|
val dst = Vector2(
|
||||||
MathUtils.lerp(yangle, dst, 16.0f * deltaTime)
|
pad.getAxis(pad.mapping.axisRightX),
|
||||||
} ?: 0.0f
|
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))
|
if (Controllers.getCurrent()?.let { pad -> pad.getButton(pad.mapping.buttonA) } == true || Gdx.input.isKeyJustPressed(Input.Keys.N))
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user