override fun onTouchEvent(event: MotionEvent): Boolean {
when (event.actionMasked) {
MotionEvent.ACTION_MOVE -> {
if (!move){
mx = event.x
my = event.y
move = true
}else{
when {
mx - event.x > 0 -> {
mx = event.x
my = event.y
SnakeCore.nextMove = { move(Directions.LEFT, head) }
}
event.x - mx > 0 -> {
mx = event.x
my = event.y
SnakeCore.nextMove = { move(Directions.RIGHT, head) }
}
my - event.y > 0 -> {
mx = event.x
my = event.y
SnakeCore.nextMove = { move(Directions.UP, head) }
}
event.y - my > 0 -> {
mx = event.x
my = event.y
SnakeCore.nextMove = { move(Directions.BOTTOM, head) }
}
}
}
}
MotionEvent.ACTION_UP -> {
mx = 0.0F
my = 0.0F
move = false
}
}
return true
}
при свайпе вправо и влево всё работает но при свайпе вверх или вниз не работает, что я упустил?
override fun onTouchEvent(event: MotionEvent): Boolean { when (event.actionMasked) { MotionEvent.ACTION_MOVE -> { if (!move){ mx = event.x my = event.y move = true }else{ when { mx - event.x > 0 -> SnakeCore.nextMove = { move(Directions.LEFT, head) } event.x - mx > 0 -> SnakeCore.nextMove = { move(Directions.RIGHT, head) } my - event.y > 0 -> SnakeCore.nextMove = { move(Directions.UP, head) } event.y - my > 0 -> SnakeCore.nextMove = { move(Directions.BOTTOM, head) } } mx = event.x my = event.y } } MotionEvent.ACTION_UP -> { mx = 0.0F my = 0.0F move = false } } return true } вот так лучше, ребят свайп в право и влево работает, а вниз и вверх нет, что упустил?
Правила приличия
что за пин?
закреплённое сообщение
Закреп
Обсуждают сегодня