|
|
|
@ -1,11 +1,5 @@
|
|
|
|
|
package uca.iut.clermont.view
|
|
|
|
|
|
|
|
|
|
import android.animation.ObjectAnimator
|
|
|
|
|
import android.content.Context
|
|
|
|
|
import android.hardware.Sensor
|
|
|
|
|
import android.hardware.SensorEvent
|
|
|
|
|
import android.hardware.SensorEventListener
|
|
|
|
|
import android.hardware.SensorManager
|
|
|
|
|
import android.os.Bundle
|
|
|
|
|
import android.view.LayoutInflater
|
|
|
|
|
import android.view.View
|
|
|
|
@ -17,15 +11,9 @@ import androidx.navigation.fragment.findNavController
|
|
|
|
|
import uca.iut.clermont.R
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class StartFragment : Fragment(), SensorEventListener {
|
|
|
|
|
class StartFragment : Fragment() {
|
|
|
|
|
|
|
|
|
|
private lateinit var ball: ImageView
|
|
|
|
|
private lateinit var sensorManager: SensorManager
|
|
|
|
|
private lateinit var accelerometer: Sensor
|
|
|
|
|
private var lastX = 0f
|
|
|
|
|
private var lastY = 0f
|
|
|
|
|
private var lastZ = 0f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override fun onCreateView(
|
|
|
|
|
inflater: LayoutInflater,
|
|
|
|
@ -37,10 +25,6 @@ class StartFragment : Fragment(), SensorEventListener {
|
|
|
|
|
|
|
|
|
|
ball = view.findViewById(R.id.ball)
|
|
|
|
|
|
|
|
|
|
sensorManager = activity?.getSystemService(Context.SENSOR_SERVICE) as SensorManager
|
|
|
|
|
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER)
|
|
|
|
|
sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL)
|
|
|
|
|
|
|
|
|
|
val buttonFavorite = view.findViewById<ImageButton>(R.id.nextButton)
|
|
|
|
|
|
|
|
|
|
buttonFavorite.setOnClickListener {
|
|
|
|
@ -51,37 +35,4 @@ class StartFragment : Fragment(), SensorEventListener {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override fun onSensorChanged(event: SensorEvent) {
|
|
|
|
|
val x = event.values[0]
|
|
|
|
|
val y = event.values[1]
|
|
|
|
|
val z = event.values[2]
|
|
|
|
|
|
|
|
|
|
val angleX = x / 9.81f
|
|
|
|
|
val angleY = y / 9.81f
|
|
|
|
|
|
|
|
|
|
if (Math.abs(angleX) > 0.1) {
|
|
|
|
|
val deltaX = angleX * 20f * if (angleX > 0) 1 else -1
|
|
|
|
|
ObjectAnimator.ofFloat(ball, View.TRANSLATION_X, ball.x + deltaX).start()
|
|
|
|
|
|
|
|
|
|
ObjectAnimator.ofFloat(ball, View.ROTATION, angleX * 3400f).start()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
lastX = x
|
|
|
|
|
lastY = y
|
|
|
|
|
lastZ = z
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onAccuracyChanged(sensor: Sensor, accuracy: Int) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onResume() {
|
|
|
|
|
super.onResume()
|
|
|
|
|
sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onPause() {
|
|
|
|
|
super.onPause()
|
|
|
|
|
sensorManager.unregisterListener(this)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|